Preheat Oven to 350F. Line a cupcake tin with cupcake liners.
In a large mixing bowl, cream butter and sugar until well incorporated. (Use paddle attachment if using a stand mixer). Add eggs one at a time (this prevents curdling).
In a separate bowl, sift together flour, baking powder, and salt.
Slowly add flour mixture to butter/egg/sugar mixture, mixing on medium speed. Once it is fully mixed in, begin adding milk 1/4c at a time until it is all mixed in. Add vanilla.
Using a spatula, gently stir in blueberries.
Divide batter evenly across cupcake tin.
Bake for 20-25 or until tops are golden and toothpick inserted comes out clean.
While cupcakes are baking, prepare icing by creaming all ingredients until smooth and fluffy. Feel free to add more confectioners sugar if you need your icing to be thicker, or less if you prefer a thin icing.
After cupcakes have cooled, pipe icing on top in a circular motion, or simply spread on top. Add blueberries to tops of cupcakes if desired.