Preheat oven to 350° F. Line a cupcake pan with 12 cupcake liners.
In a mixing bowl, whisk together the all-purpose flour, granulated sugar, baking powder, and salt. Add in the milk, vegetable oil, sour cream, egg, and vanilla extract or vanilla bean paste. Whisk until well combined with the dry ingredients.
Portion the cupcake batter into the cupcake liners using a large cookie scoop, about ¾ full. Bake the cupcakes for 20 minutes until the tops of the cupcakes bounce back slightly when touched.
Remove the cupcake pan from the oven and cool for 5 minutes. Transfer the cupcakes to a wire rack to cool completely.
Vanilla Buttercream Frosting
In a large mixing bowl or the bowl of a stand mixer fitted with a paddle attachment, whip the unsalted butter on medium-high speed for 5 minutes until it is light, pale, and creamy.
Add in the powdered sugar and mix on low speed until combined. Add the vanilla extract or vanilla bean paste and salt. While mixing on low speed, drizzle in the heavy cream.
Turn the speed on the mixer to medium and whip the frosting for 2 to 3 minutes, scraping the sides and bottom of the bowl occasionally, until the frosting is smooth and creamy.
Notes
Vanilla cupcakes can be stored in an airtight container in the refrigerator for up to 5 days. Serve at room temperature.