Preheat your oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a medium bowl, whisk together the all-purpose flour, cocoa powder, baking soda, and salt. Set aside.
In a large mixing bowl, beat the softened butter and granulated sugar together until light and fluffy, about 3-5 minutes.
Add the vanilla extract and mix until well combined.
Gradually add the dry ingredients to the butter mixture, alternating with the buttermilk. Begin and end with the dry ingredients, mixing until just combined.
Scoop the batter into the prepared cupcake liners, filling each about two-thirds full.
Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Allow the cupcakes to cool completely on a wire rack.
While the cupcakes cool, prepare the peanut butter filling. In a small bowl, mix the creamy peanut butter with powdered sugar until smooth and well combined.
Once the cupcakes are completely cool, use a small knife or a cupcake corer to remove a portion of the center of each cupcake.
Fill each cupcake center with the peanut butter mixture, pressing gently to pack it in.
For the frosting, whip the heavy cream with powdered sugar and vanilla extract until stiff peaks form.
Frost the tops of the filled cupcakes with the whipped cream frosting, creating a beautiful and luscious topping.
Serve the cupcakes immediately or store them in an airtight container in the refrigerator until ready to enjoy.