Preheat oven to 350F (175C) and lightly grease a 13×9 baking pan. Set aside.
In a large bowl, whisk together flour, sugars, baking soda, and salt.
In a medium-sized saucepan, combine water, butter, and oil. Heat over medium heat, stirring occasionally until butter is melted and bring to a boil.
Once boiling, remove from heat and add peanut butter. Stir until peanut butter is dissolved and mixture is smooth. Add to bowl with dry ingredients and stir until combined. Set aside to cool for 5-10 minutes.
Meanwhile, in a separate bowl, whisk together buttermilk, eggs, and vanilla extract.
Gradually stir buttermilk mixture into batter, stirring until just combined.
Pour batter evenly into prepared pan and transfer to center rack of 350F (175C) preheated oven and bake for 30-32 minutes or until a toothpick inserted in the center comes out clean or with moist crumbs. Prepare frosting.
Fudgy Peanut Butter Frosting: Measure out sugar and set aside (if you’re worried about lumps in your icing, sift the sugar after measuring).
Combine buttermilk, butter, peanut butter, and salt in a medium-sized saucepan. Cook over medium-low heat until butter is melted. Increase heat to medium and bring to a boil while stirring constantly. Once boiling, remove from heat.
Immediately add powdered sugar and vanilla extract.
Whisk until smooth and immediately pour evenly over cake (in the pan, I do not remove my cake from the pan).