Preheat your oven to 350°F (175°C). Grease a large sheet pan (a half-sheet pan works perfectly) with cooking spray or butter.
In a large bowl, whisk together the flour, sugar, baking soda, and salt until well combined.
In a saucepan, combine the butter and water. Bring to a boil, stirring occasionally. Once boiling, pour this mixture into the dry ingredients and mix well.
Stir in the creamy peanut butter until well blended.
In another bowl, beat the eggs, buttermilk, and vanilla together. Add this mixture to your cake batter and mix until just combined.
Pour the batter into your greased sheet pan and spread it evenly. Bake for 20-25 minutes, or until a toothpick comes out clean from the center.
While the cake is baking, make the frosting by melting the butter in a saucepan over medium heat. Add in the peanut butter and milk, stirring until well combined. Gradually add in the powdered sugar and vanilla, mixing until smooth.
When the cake is done and cooled slightly, pour the frosting over the warm cake for a luscious finish.
Let the cake cool completely before cutting it into generous squares.