Preheat your oven to 350°F.
In a bowl, whisk together flour, baking powder, and salt.
In a separate bowl, combine the brown sugar, granulated sugar, sour cream, peanut butter, whole milk, vegetable oil, egg, and vanilla extract, whisking until the mixture is smooth.
Combine the wet ingredients with the dry ingredients and stir just until mixed. Avoid overmixing.
Line your cupcake pan with paper liners. Spoon the batter into the liners, filling each about 2/3 full. Bake for about 20-25 minutes, or until a toothpick inserted in the center comes out clean. Remove from the oven and let the cupcakes cool completely on a wire rack.
While the cupcakes cool, beat the butter until creamy. Mix in the peanut butter, then gradually add powdered sugar and heavy cream, alternating between them. Stir in vanilla extract and a pinch of salt. Taste frosting and add more cream or powdered sugar to reach your desired taste and consistency.
Once smooth and fluffy, spread the frosting onto the cooled cupcakes. Enjoy your cupcakes!