In the bowl of a stand mixer, using the paddle attachment on medium-high speed, cream together butter, sugar, salt, baking powder and vanilla until fluffy and light colored, or about 5 minutes.
Add eggs one at a time until incorporated. Scrape down sides as needed.
With the mixer on low, add one third of the flour, then half the milk, then another third of the flour, the rest of the milk and finally the remaining flour. Scrape down sides as needed.
Pour into a cupcake tin with cupcake liners. Each liner should be about 3/4 full of batter.
Bake cupcakes for 16-18 minutes or until a toothpick inserted in the center comes out clean.
Cool cupcakes completely before moving on to next steps.
When cupcakes have cooled, hollow out a small hole in the center (using a cupcake corer or a small sharp knife). Fill hole with mini M&Ms.
Prepare frosting by using an electric mixer to cream together all frosting ingredients until smooth and fluffy. Pipe frosting onto cupcakes, decorate with sprinkles if desired, and serve immediately.
Notes
Serving immediately is recommended because the M&M’s soak up some moisture and lose their crunch after being inside of the cupcakes. Feel free to make cupcakes a day ahead and fill and frost immediately before serving.
Don't have a stand mixer? A hand mixer works well, too.
Be creative with the filling. Try other candies, chopped candy bars, or jam.