Preheat the oven to 350 degrees. Grease and flour a 15x10-inch jelly roll pan.
In a large bowl, whisk together flour, sugar, baking soda, and salt.
Combine water and butter in a large saucepan and heat until the butter melts. Make sure the saucepan is large enough to mix a cake in. Whisk in the peanut butter until smooth. Remove from the heat and let cool for 10-15 minutes stirring several times.
Stir the flour mixture into the peanut butter mixture just enough to get it started. Add the eggs, buttermilk, and vanilla. Stir just enough to combine. Pour into the prepared pan and bake for 24-28 minutes or until a toothpick inserted in the center comes out clean. Remove the cake to a wire rack and fully cool before preparing the frosting.
Using a stand mixer with the paddle attachment, cream the butter and peanut butter until smooth and creamy. Add the powdered sugar in ½ cup increments alternating with 1 tablespoon of milk while continuing to beat on medium speed. Scrape down the bowl and beater as needed. Beat in the vanilla and salt. Continue beating for about 3-4 minutes or until the frosting is smooth and fluffy.
Frost the fully cooled cake.