Preheat the oven to 350°F (175°C). Grease and flour two 9-inch round cake pans, or line them with parchment paper for easy removal.
Prepare the dry ingredients: In a medium-sized bowl, sift together the flour, baking powder, and salt. Set aside.
Cream the butter and sugar: In a large bowl, cream the softened butter and granulated sugar until light and fluffy, using an electric mixer on medium speed. This should take about 3 minutes.
Add the eggs and vanilla: Add the eggs one at a time, beating well after each addition. Then, mix in the vanilla extract.
Alternate adding dry ingredients and milk: Slowly add the dry ingredients in batches, alternating with the milk. Begin and end with the dry ingredients. Mix until just combined—don’t overmix!
Bake the cake: Divide the batter evenly between the two prepared cake pans. Bake for 25-30 minutes or until a toothpick inserted into the center comes out clean.
Cool: Let the cakes cool in the pans for 10 minutes before transferring them to a wire rack to cool completely.
Make the frosting (optional): In a large bowl, beat the butter until smooth. Gradually add the powdered sugar, 1 cup at a time, until the frosting is fluffy. Add milk and vanilla extract, and beat until smooth and spreadable.
Assemble the cake: Once the cakes have cooled, place one layer on a serving platter. Spread frosting on top, and then carefully place the second layer on top. Frost the top and sides of the cake, and add any optional decorations, like sprinkles or fresh berries.