Adjust the oven rack to the lower third position, just below the center of the oven, and heat the oven to 350°F. Line a 9-inch square pan with parchment paper or aluminum foil, leaving a 1-inch overhang on all sides. Spray lightly with nonstick spray and set aside.
In a medium heatproof bowl set over a pot of barely simmering water, melt the chocolate and butter, stirring constantly until the mixture is smooth. You can also microwave in 30-second intervals, stirring between each one.
Remove from heat and whisk in the cocoa powder. Set aside to cool slightly.
In a separate bowl, whisk the egg and sugar, vanilla, and salt together until well combined and the mixture is frothy.
Add the warm chocolate mixture and whisk until well combined.
Add the flour and use a silicone spatula to fold the batter together until no visible streaks of flour remain.
Spread the mixture evenly into the prepared pan and bake for 20-25 minutes or until a toothpick inserted into the center comes out with a few moist crumbs clinging to it.
Make the filling
While the brownies bake, make the filling. In a mixing bowl, combined melted butter, peanut butter, vanilla, and powdered sugar. Mix until well combined. The mixture will be thick.
Gently drop peanut butter filling over the warm brownies, using the back of a spoon to make sure brownies are completely covered.
Make the topping
Place the chocolate and cream in a heatproof bowl set over a pot of simmering water. Stir occasionally until fully melted and smooth.
Pour the ganache over the brownies, and use a silicone spatula to spread the ganache evenly over the top.
Refrigerate for at least 2 hours before slicing.
Notes
Peanut butter: Use commercial brand creamy peanut butter for best results. Natural peanut butter tends to be too oily.
Make ahead tips:
Brownies can be stored in the refrigerator in an airtight container for up to 5 days.
Or they can be frozen for up to 3 months. Thaw in the refrigerator overnight and bring to room temperature before serving.