Preheat oven to 350F (175C) and line a 12-count muffin tin with paper liners. Set aside.
Combine butter and sugars in the bowl of a stand mixer (or in a large bowl — and use an electric hand mixer) and beat very on medium speed until well creamed and light and fluffy.
Add egg and vanilla extract and beat well.
In a separate, medium-sized bowl, whisk together flour, baking soda, baking powder, and salt.
Use a spatula (not a mixer!) to gradually fold in about ¼ of the flour mixture until just combined. Add about ¼ cup of the buttermilk and use spatula to fold in until just combined.
Continue to alternate until flour mixture and buttermilk are completely combined (I add the flour in 4 parts and the buttermilk in 3) — mix until batter is combined but be sure not to over-mix or your cupcakes could end up dense and dry.
Fill cupcake liners ⅔-¾ of the way full with batter (do not over-fill, if you have any leftover batter discard it) and bake on 350F (175C) for 17-18 minutes or until tops spring back when gently touched and a toothpick inserted in the center comes out with a few moist crumbs or clean.
Allow cupcakes to cool in pans for 5 minutes before carefully removing to cooling rack to cool completely before frosting.
Beat butter with an electric mixer until creamy. Sprinkle salt over butter and stir again to combine.
Gradually, about ½ cup at a time, add powdered sugar, waiting until each cup is completely mixed before adding more.
Stir in vanilla bean paste.
With mixer on medium-low speed, add the heavy cream, one tablespoon at a time until you have a smooth consistency. Once ingredients are well incorporated, gradually increase speed to high and beat for about 30 seconds.
Pipe or spread frosting over cooled cupcakes. Top with sprinkles, if desired. This frosting will be fine at room temperature for 2 days or refrigerated in an airtight container for about a week.