Preheat the Oven: Start by preheating your oven to 350°F (175°C) and lining a muffin tin with cupcake liners.
Mix Dry Ingredients: In a medium bowl, whisk together the flour, baking powder, and salt.
Cream Butter & Sugar: In a large bowl, use an electric mixer to beat the softened butter and sugar together on medium-high speed for 2-3 minutes until the mixture is light and fluffy.
Add Eggs & Flavor: Add the eggs one by one to the butter mixture, beating well after each addition. Stir in the vanilla extract, lemon zest, and lemon juice.
Combine Dry & Wet Ingredients: On low speed, add the dry ingredients in three parts, alternating with the milk in two parts. Start and finish with the dry ingredients, mixing until just combined.
Fill Cupcake Liners: Divide the batter evenly among the cupcake liners, filling each about 2/3 full.
Bake: Place the tin in the oven and bake for 18-22 minutes, or until a toothpick inserted into the center comes out clean.
Cool the Cupcakes: Allow the cupcakes to cool in the muffin tin for 5 minutes, then transfer them to a wire rack to cool completely.
Make the Lemon Buttercream Frosting: In a mixing bowl, beat the softened butter on medium-high speed until smooth. Gradually add the powdered sugar, lemon juice, and lemon zest, mixing until smooth. If the frosting is too thick, add heavy cream or milk, one tablespoon at a time, until desired consistency is reached. Add a pinch of salt to balance the sweetness.
Frost the Cupcakes: Once the cupcakes are completely cool, use a piping bag or an offset spatula to swirl the lemon buttercream frosting atop each cupcake.
Garnish: Optionally, garnish with extra lemon zest or a small candied lemon slice for that aesthetic touch!