Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
In a large bowl, beat butter and sugar until light and fluffy, about 3 minutes.
Add eggs one at a time, mixing well after each addition. Stir in vanilla extract.
Alternate adding the dry ingredients and milk to the butter mixture, starting and ending with dry ingredients. Mix until just combined.
Divide batter evenly between prepared pans. Bake for 25–30 minutes or until a toothpick inserted in the center comes out clean.
Cool cakes in pans for 10 minutes, then remove and cool completely on a wire rack.
For the frosting, beat butter until creamy. Add cocoa powder and mix well.
Gradually add powdered sugar, alternating with milk, until smooth and fluffy.
Stir in vanilla extract. Frost cooled cakes, stacking layers and covering top and sides.