Preheat the oven to 350°F (175°C) and line a 12-cup muffin pan with paper liners.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a large bowl, beat the softened butter and granulated sugar until light and fluffy.
Add the eggs one at a time, beating well after each addition. Mix in the lemon zest, lemon juice, and vanilla extract.
Add the dry ingredients in three additions, alternating with the milk, beginning and ending with the dry ingredients. Mix just until combined.
Divide the batter evenly among the muffin cups, filling each about two-thirds full.
Bake for 16 to 18 minutes, or until a toothpick inserted into the center comes out clean.
Let the cupcakes cool in the pan for 5 minutes, then transfer to a wire rack to cool completely.
For the frosting, whisk together the powdered sugar and lemon juice until smooth. Add a little more juice if needed for a spreadable consistency.
Spread or pipe the frosting onto the cooled cupcakes and garnish with lemon zest if desired.