Preheat oven to 350 degrees F. Line a cupcake pan (12 cups) with paper liners. Set aside.
In a medium bowl, whisk the flour, baking powder, and salt together. Set aside.
In a stand mixer, beat the butter and sugar together until light and fluffy and lightened in color. This will take about 5 minutes. Scrape down the sides of the bowl with a rubber spatula.
Add the eggs one at at time, beating after each addition. Stir in the extracts.
Add the flour mixture and milk alternately, starting and ending with the flour. Mix until flour is just incorporated. Don't overmix.
Divide batter evenly in prepared cupcake liners, filling 2/3 full. Bake cupcakes for 18-20 minutes or until a toothpick inserted in the center comes out clean. Transfer pan to a wire cooling rack and cool completely.
While the cupcakes are cooling, make the frosting. Using a stand mixer, beat the butter until creamy. With the mixer on low, add 1 cup of powdered sugar at a time until all of the powdered sugar is added. Beat in the milk, vanilla extract, and almond extract. Beat until smooth.
Place the frosting in a pastry bag and frost. I used the 1M Wilton tip. Decorate with sprinkles, if desired. Serve!
Note-Frosting can be made up to 2 days ahead of time and stored in the refrigerator. Let it come to room temperature and beat briefly before using. You can store the finished cupcakes in the refrigerator for 1-2 days. Let the cupcakes come to room temperature before serving. They are best the day they are made.