Preheat oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a bowl, whisk flour, baking powder, and salt.
In another bowl, beat butter and sugar until light and fluffy.
Add eggs one at a time and mix well.
Stir in milk and vanilla extract.
Gradually mix dry ingredients into wet ingredients until smooth.
Fill cupcake liners about ⅔ full with batter.
Bake for 16–18 minutes until a toothpick inserted comes out clean.
Let cupcakes cool completely before frosting.
Beat butter, powdered sugar, milk, and vanilla until smooth and fluffy.
Pipe or spread buttercream frosting onto cupcakes.