In a medium-sized mixing bowl or bowl of a stand mixer, mix together sugar, cake flour, baking powder, baking soda, salt. and lemon zest.
Add butter and mix on medium-low speed for three minutes. Because there is so little butter, you'll end up with a very fine crumb texture.
In a small mixing bowl, whisk together eggs, sour cream, oil, and vanilla extract until smooth.
Add the egg mixture to the flour mixture and beat on medium speed until just combined.
Slowly add milk and mix on low speed until just combined. The batter will be liquid. (Don't worry, you didn't do anything wrong. It's supposed to be that way.)
Fill cupcake liners just over 1/2 full.
Bake for 14 minutes and then test to see if they are done. They are done when a toothpick comes out without wet batter stuck to it. They should not turn a golden brown. If they are not done, test again in two minutes. If they are still not done, test again in another two minutes.
When the cupcakes are done, remove them immediately from the tins and leave them on a cooling rack (or just on your counter if you don't own a cooling rack) to cool.
Frosting Instructions
Beat butter on high speed with an electric mixer for about three minutes until light and airy.
Mix in powdered sugar a little bit at a time.
Add lemon zest and salt and continue to beat for another minute. If desired, add more powdered sugar to make the buttercream frosting stiffer.
Pipe or spread onto cooled cupcakes.
Video
Notes
Be careful not to over-mix the batter.
Use room temperature ingredients - everything will mix together more smoothly that way.
Because everyone's oven is just a bit different and your liners may be a slightly different size than mine, I highly recommend that you bake a test cupcake before baking a whole batch of these cupcakes. Read my FAQ on filling cupcake liners to learn how to do a test cupcake and why it's useful.