Preheat oven to 350 degrees. Butter three 9 inch cake pans and dust the inside with flour and tap out excess. Line the bottom of the pans with wax or parchment paper. Put the cake pans on a baking sheet lined with parchment paper or a silicone mat.
Sift the dry ingredients together and set aside.
Beat the butter for 3 minutes until light and fluffy. Add the sugar and beat another 3 minutes. Add the eggs, one at a time, and beat thoroughly after each addition.
Start adding the flour mixture one cup at a time, and alternate with the milk - ending with the flour mixture. Add the vanilla, mix well and pour into prepared cake pans.
Bake for 25-30 minutes or when a knife inserted in the center of the cake comes out clean. Transfer to a rack and cool for 5 minutes, then run a knife around the sides of the cakes, unmold them and peel off the paper liners.
Invert and cool to room temperature, right side up. (These cooled cakes may be wrapped airtight and stored at room temperature overnight or frozen for up to two months.)
Place the softened butter in a mixing bowl and beat with 1/2 of the powdered sugar. Add the vanilla and milk and mix well. Add another cup of powdered sugar 1 cup at a time until you reach the desired consistency to spread; you may not need all of the sugar specified. Beat until light and fluffy; spread on the cooled cake.