Using a stand mixer or handheld beaters, cream the butter and sugar together on low until combined. Increase speed to high and beat until light and fluffy. Add the eggs one at a time, with the beaters turning on low speed. Mix until just combined.
Add in the vanilla essence, lemon juice, lemon zest, and milk. Mix for 30 seconds on low speed.
With the beaters still on, slowly add the sifted flour, baking soda, and salt. Mix until just combined.
Divide batter evenly among the cupcake liners in the muffin tray. Bake in the preheated oven for 18-20 minutes or until the top springs back when lightly touched.
To make the frosting, place the butter into a large bowl and beat until light and creamy (about 2 minutes). Slowly add in the icing sugar, lemon juice, cream, lemon zest, and salt while continuing to beat the frosting. Beat for a further 3 minutes.
Pipe or spread the frosting onto the top of the cooled cupcakes.