Step 1 (Cake): Preheat oven to 350°F (175°C). Grease and flour a 15x10 inch jelly-roll pan.
Step 2 (Cake): In a big mixing bowl, whisk together flour, sugar, baking soda, and salt. Set aside.
Step 3 (Cake): In a medium saucepan over medium heat, combine butter, water, and 1/4 cup creamy peanut butter. Stir constantly until it comes to a gentle boil and butter and peanut butter are smooth and incorporated.
Step 4 (Cake): Carefully pour the hot butter-peanut butter mixture into the bowl with the dry ingredients. Mix until just combined. Do not overmix.
Step 5 (Cake): In a smaller bowl, whisk together beaten eggs, 1 tsp vanilla extract, and buttermilk. Add this mixture to the batter and mix gently until just combined.
Step 6 (Cake): Pour the liquidy batter into the prepared pan and spread evenly to the edges.
Step 7 (Cake): Bake for about 25-28 minutes, or until a toothpick inserted into the center comes out clean (maybe with a few moist crumbs).
Step 8 (Cake): Take the cake out of the oven and let it cool for a few minutes while you make the icing. You want the cake to still be warm.
Step 9 (Icing): While the cake is cooling, melt 1/2 cup butter, 1/4 cup peanut butter, and milk in a small saucepan over medium heat. Stir constantly and bring to a boil.
Step 10 (Icing): Remove from heat. Gradually whisk in the powdered sugar and 1 tsp vanilla extract until smooth and creamy.
Step 11 (Icing): While the cake is still warm, pour or spread the icing evenly over the top. Let the cake cool completely for the icing to set, then slice and enjoy.