Preheat the oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a bowl, whisk together the flour, sugar, baking powder, and salt.
In a separate bowl, beat the softened butter and sugar until light and fluffy.
Add eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Gradually add the dry ingredients in 3 parts, alternating with the milk, beginning and ending with the dry ingredients.
Divide the batter evenly between the cupcake liners (about 2/3 full).
Bake for 18-22 minutes or until a toothpick inserted comes out clean. Let the cupcakes cool in the tin for 5 minutes, then transfer to a wire rack to cool completely.
Beat the softened butter until smooth and creamy.
Gradually add the powdered sugar, one cup at a time, and beat until smooth.
Mix in the vanilla extract, salt, and heavy cream (adjust to your desired frosting consistency).
Once the cupcakes have cooled completely, use a spatula or piping bag to frost the cupcakes with the vanilla buttercream.
Feel free to get creative with your frosting technique—whether you swirl it, pipe it into peaks, or spread it with a knife!.