Heat the oven to 350°F. Grease and line two 8-inch round cake pans.
Whisk the flour, baking powder, and salt in a bowl.
Beat the butter and granulated sugar until pale and fluffy. Beat in the eggs one at a time, then mix in the vanilla.
Add the dry ingredients in three additions, alternating with the milk, and mix just until smooth.
Divide the batter between the pans and bake for 28 to 30 minutes, until the tops spring back and a tester comes out clean.
Cool the cakes in the pans for 10 minutes, then transfer to a rack and cool completely.
Beat the powdered sugar, remaining butter, vanilla, and cream into a smooth frosting. Fill, stack, and frost the cooled layers.