Preheat the Oven and Prepare the Pan:
Preheat the oven to 350°F (177°C) and line a 12-cup muffin pan with cupcake liners. Set aside a second pan or extra liners for 14-15 cupcakes.
Mix Dry Ingredients:
In a medium bowl, whisk together the flour, baking soda, and salt. Set aside.
Mix Wet Ingredients:
In a large mixing bowl, combine the oil, peanut butter, brown sugar, egg, sour cream, and vanilla extract. Mix until smooth and well combined.
Combine Wet and Dry Ingredients:
Add the dry ingredients to the wet ingredients and mix. Add milk and finely chopped peanuts. Stir until the mixture is fully combined. Be careful not to overmix.
Fill the Cupcake Liners:
Spoon the batter into the cupcake liners, filling each about 2/3 full.
Bake the Cupcakes:
Bake for 21-23 minutes, or until a toothpick inserted into the center comes out clean. Let the cupcakes cool in the pan for about 2 minutes before transferring them to a wire rack to cool completely.
Make the Frosting:
Beat the butter until smooth. Add the confectioners’ sugar, cocoa powder, and milk, and mix. Then, add the peanut butter, vanilla extract, and salt, and beat on medium-high for about 2 minutes until smooth and creamy.
Frost the Cupcakes:
Once the cupcakes are fully cooled, pipe or spread the frosting on top of each cupcake. Garnish with mini Reese’s Peanut Butter Cups or chopped peanuts if desired.