Preheat oven to 350F. Line a 12-count muffin pan with cupcake liners. Line a second muffin pan with 2 liners (this recipe will make 14 cupcakes). Set aside.
In a large bowl, whisk together the flour, baking powder, and salt. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment (or in a large mixing bowl using a hand-held mixer), beat the butter and sugar until light and fluffy. Beat in the eggs one at a time, then the vanilla. Add in the sour cream and mix until fully combined.
Slowly add the dry ingredients to the wet ingredients and mix until just combined, making sure not to over mix the batter.
Scoop the batter into the cupcake liners, filling them a little over half way full. You should end up with exactly 14 cupcakes.
Bake in separate batches at 350F for 18-22 minutes or until a wooden toothpick inserted into the center of the cupcake comes out clean.
Remove from the oven and allow to cool for a couple of minutes. Remove all of the cupcakes from the pan and transfer to a wire rack to cool completely.
To make the frosting
In the bowl of a stand mixer fitted with the paddle attachment (or in a large mixing bowl using a hand-held mixer) beat the butter on medium speed until smooth.
Add in the confectioner's sugar and vanilla and mix on low until well combined. Slowly add in the heavy cream, increase the speed to medium-high, and mix for a few more minutes until the frosting is smooth and well combined.
Frost the cooled cupcakes as desired.
Store prepared cupcakes in an airtight container at room temperature for up to 2-3 days or in the refrigerator for up to five days.