Preheat oven to 350 degrees. Prep cupcake pan by lining with 24 cupcake liners. If you only have a 12-cup pan, you'll have to bake in two batches. Set aside.
In a bowl fitted for a stand mixer, beat butter and sugar on medium until light and fluffy, about 5 minutes. Add eggs one at a tim, making sure each one is completely mixed in before continuing. Add vanilla and mix together.
In a separate medium bowl, whisk flour, baking powder, and salt together. Add 1/3 of the flour mixture to the egg mixture. Mix just until combined. Add 1/2 of the milk and mix just until combined. Repeat until all the flour and milk is gone - but make sure you end with the last 1/3 of flour mixture!. Scrape down the sides to make sure it's completely mixed.
Scoop batter into prepared pan so that the cups are 2/3 full. Don't fill to the top - otherwise, the cupcakes will overflow. Bake in preheated oven for 20-25 minutes, or until the tops are slightly golden brown and a toothpick comes out clean when inserted in the middle cupcake.
Remove from oven and let cool in the pan for 5 minutes. Gently remove from pan and let them finish cooling on a cooling rack.
Make espresso soak by mixing all the ingredients together in a measuring cup. Once the cupcakes are cool, it's time to add the espresso soak. Poke holes into center of cupcake using a fork - give it about 3 or 4 stabs. Using a teaspoon, slowly spoon espresso soak over top of the cupcake. Repeat with all cupcakes. You'll have some liquid left over - that's okay.
To make the marscapone whipped cream, start by whipping heavy cream until medium peaks form. Mix in sugar, corn starch, and salt until combined. On low, whip in the Amaretto liquor. Using a whisk, slowly mix in softened marscapone cheese by hand until combined.
Add marscapone whipped cream to a pastry bag (no tip needed). Pipe large swirls on each cupcake top. Dust with a little cocoa powder, top with a chocolate-covered espresso bean, and serve! Store excess cupcakes in a storage container in the fridge for up to 2 days.