Preheat your oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a mixing bowl, whisk together the flour, sugar, baking powder, and salt.
Add the softened butter and beat with an electric mixer until the mixture is crumbly.
Beat in the eggs, one at a time, then add the lemon zest and milk. Mix until smooth.
Divide the batter evenly among the cupcake liners, filling each about ⅔ full.
Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Let cool completely on a wire rack.
For the frosting, beat the softened butter until creamy. Gradually add the powdered sugar, beating until smooth.
Mix in the vanilla extract and heavy cream, beating until the frosting is light and fluffy.
Frost the cooled cupcakes as desired.