Preheat oven to 350°F (175°C). Grease and flour two 9-inch cake pans or line with parchment paper.
In a medium bowl, whisk together flour, baking powder, baking soda, and salt.
In a large bowl, cream peanut butter, butter, brown sugar, and granulated sugar until light and fluffy.
Add eggs one at a time, mixing well after each addition. Stir in vanilla extract.
Gradually add the dry ingredients, alternating with buttermilk, until just combined.
Divide batter between cake pans. Bake for 25–30 minutes or until a toothpick comes out clean.
Cool cakes in pans for 10 minutes, then transfer to a wire rack to cool completely.
For frosting, beat peanut butter and butter until smooth. Gradually add powdered sugar, vanilla, and heavy cream until creamy.
Frost the cooled cake layers and decorate with chocolate ganache and toppings if desired.