Preheat and prep: Heat your oven to 350°F (175°C). Line a 12-cup muffin tin with cupcake liners.
Combine dry ingredients: In a bowl, whisk flour, baking powder, baking soda, and salt. Set aside.
Cream butter and sugar: In a large bowl, beat the softened butter and granulated sugar on medium-high for 2–3 minutes, until pale and fluffy.
This step builds structure and lightness.
Add eggs and vanilla: Beat in the eggs one at a time, scraping the bowl as needed. Mix in the vanilla until smooth.
Alternate dry and wet: On low speed, add half the dry ingredients, then the buttermilk and oil, then the remaining dry ingredients. Mix just until combined.
Do not overmix.
Portion the batter: Divide evenly among liners, filling each about 2/3 full. A cookie scoop helps keep portions even.
Bake: Bake 16–20 minutes, until the tops spring back lightly and a toothpick comes out clean or with a few moist crumbs. Avoid overbaking.
Cool completely: Let cupcakes cool in the pan for 5 minutes, then move to a wire rack to cool fully before frosting.
Make the frosting: Beat softened butter on medium-high for 2 minutes until creamy.
Add 3 cups of sifted powdered sugar, vanilla, a pinch of salt, and 2 tbsp cream. Beat on low to combine, then on high for 2–3 minutes until fluffy. Adjust with more sugar for thickness or more cream for softness.
Taste and add a touch more salt if needed to balance sweetness.
Frost and decorate: Use a piping bag with a star tip for a classic swirl, or spread with a knife for a rustic look. Add sprinkles or your favorite topper.