Preheat oven to 375°F. Grease and flour 3 round cake pans and set aside.
In a large bowl, cream butter, sugar, and vanilla. Add eggs one at a time, beating well after each egg.
In a separate bowl, sift together the cake flour, cocoa powder, baking powder, and salt. Add the flour mixture to the butter mixture, alternately with the milk, mixing well. Divide the batter between the prepared pans.
Bake 25-30 minutes or until a toothpick inserted near the center of the cake tests clean.
Remove the cakes from the oven to a cooling rack. Allow to cool 10 minutes in the pan before turning the cakes out onto a cooling rack to cool completely.
For the frosting:
Combine all frosting ingredients in a large bowl with a hand mixer until well combined. If the frosting is too thin, add a bit more powdered sugar. If the frosting is too thick, add a bit more milk.
Frost the cake.
Notes
Refrigerate leftovers.
If you don't have cake flour, don't fret! For each cup of cake flour, add 2 tablespoons of cornstarch to a 1 cup measuring cup, then fill the remainder with all-purpose flour. Sift into a bowl before use.