Preheat oven to 350°F (175°C) and line a 12-cup muffin tin with cupcake liners.
In a bowl, whisk together flour, baking powder, baking soda, and salt.
In another bowl, cream butter and sugar until light and fluffy.
Beat in eggs one at a time, then add vanilla and lemon zest.
Mix in sour cream and milk until smooth.
Gently fold in flour mixture until just combined.
Carefully fold in blueberries, coating them in a little flour to prevent sinking.
Divide batter evenly among liners and bake 18–20 minutes or until a toothpick comes out clean.
Let cupcakes cool completely before frosting.
For frosting, beat butter and powdered sugar until creamy, then mix in lemon juice and zest.
Frost cupcakes and optionally garnish with extra blueberries or lemon zest.