To begin, preheat your oven to 350. Spray two 9" round cake pans with no-stick spray and line the bottom with parchment paper.
To a large mixing bowl, add your butter and sugar and cream them together with a mixer. Do not over mix. Add your sour cream, eggs and vanilla and mix together again until just incorporated. Add your flour, baking powder and salt and mix again till you have a thick batter. While mixing, slowly add your buttermilk, till you have a smooth, thick cake batter.
Pour your batter into the two cake pans, filing them evenly. Using a spatula, spread the tops into an even layer.
Bake in the oven for 30-35 minutes, or till the cakes are springy to touch and a toothpick inserted comes out clean.
Let the cakes cool entirely before removing them from the cake pans, and before frosting. I recommend chilling your cakes in the fridge prior to frosting.
To a large mixing bowl, add your butter, 4 tbsp of milk, and vanilla and mix together with a hand mixer till smooth. Add one cup of powdered sugar at a time, and blend till smooth (adding another tbsp of milk, if necessary).
Pipe or spread your frosting on top of your cooled cakes.
Devour!
*This cake recipe is made for those baking at about 5,000 ft in altitude. For 6-7,000 ft in altitude you'll need to add another egg and reduce the baking powder to 1 tsp.
*Cake layers can be stored unfrosted, wrapped tightly in plastic wrap, for about a week in the fridge.
*Cake that's been frosted will last about 3 days (wrapped tightly or in a container) at room temperature. Or, in the fridge for about 4-5 days. Each day that passes will dry the cake out more.