Preheat the oven to 350°F (175°C) and line a 12-cup muffin pan with paper liners.
In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
In a large bowl, beat the softened butter and sugar until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, beating well after each addition, then mix in the vanilla extract and peanut butter until smooth.
Gradually add the flour mixture to the wet ingredients alternating with the milk, beginning and ending with the flour. Mix until just combined.
Divide the batter evenly among the cupcake liners and bake for 18 minutes or until a toothpick inserted into the center comes out clean. Remove from oven and allow to cool completely.
For the frosting, melt the white chocolate in a heatproof bowl over simmering water until smooth. Let cool slightly.
In a separate bowl, whip the heavy cream until soft peaks form, then gently mix into the melted white chocolate.
Beat softened butter until fluffy. Gradually add powdered sugar and vanilla extract, then fold in the white chocolate mixture until well combined.
Pipe or spread the frosting onto cooled cupcakes and serve.
Notes
Store cupcakes in an airtight container at room temperature for up to 3 days or refrigerate for up to 5 days. Bring to room temperature before serving.