Preheat oven to 350 degrees F. Prepare muffin tin with liners and set aside.
In a stand mixer (or in a large bowl using a hand mixer) cream together butter, sugar, and lemon zest. Cream until well combined (about 3-4 minutes). Add in eggs one at a time and then vanilla continues to beat for another 2-3 minutes.
In a separate bowl mix together flour, baking powder, and salt. Slowly add these dry ingredients into the wet in your mixer. Alternate adding dry ingredients and buttermilk until combined.
Fold in blueberries and pour batter into prepared muffin tin and bake for 15-20 minutes or until a toothpick comes out clean.
Cream together butter and cream cheese stand mixer. Slowly add in powdered sugar, lemon juice, lemon zest, and vanilla. Mix together until creamy and well combined. (Optional: add milk for a thinner frosting). Pipe onto cooked and cooled cupcakes.