Preheat your oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a large mixing bowl, whisk together the flour, granulated sugar, cocoa powder, baking powder, baking soda, and salt until well combined.
In another bowl, mix the melted butter, eggs, vanilla extract, and buttermilk until smooth. Pour the wet ingredients into the dry ingredients and stir until just combined.
Divide the batter evenly among the cupcake liners, filling each about 2/3 full. Bake for 18-20 minutes, or until a toothpick inserted in the center comes out clean. Allow the cupcakes to cool in the pan for 5 minutes, then transfer them to a wire rack to cool completely.
While the cupcakes cool, prepare the peanut butter filling. In a small bowl, mix together the peanut butter, powdered sugar, and vanilla extract until smooth.
Once the cupcakes are completely cool, use a small knife or cupcake corer to remove a small portion from the center of each cupcake. Fill each hole with a spoonful of the peanut butter mixture.
To make the frosting, heat the heavy cream in a small saucepan over medium heat until it begins to simmer. Remove from heat and add the chocolate chips, stirring until melted and smooth. Let the frosting cool slightly before spreading it on top of the filled cupcakes.
Serve immediately or store in an airtight container for up to 3 days.