Preheat your oven to 350°F (175°C) and grease two 9-inch round cake pans with butter or non-stick spray.
In a large mixing bowl, combine the all-purpose flour, granulated sugar, baking soda, and salt. Mix well to ensure even distribution of the dry ingredients.
In another bowl, mix together the softened unsalted butter, creamy peanut butter, vegetable oil, buttermilk, water, and vanilla extract until smooth and creamy.
Gradually add the wet mixture to the dry ingredients, stirring until just combined. Be careful not to overmix, as this can lead to a denser cake.
Divide the batter evenly between the prepared cake pans. Tap the pans gently on the counter to remove any air bubbles.
Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted in the center comes out clean. The cakes should be golden brown and spring back when lightly touched.
Once baked, remove the cakes from the oven and allow them to cool in the pans for 10 minutes. Then, transfer them to a wire rack to cool completely.
While the cakes are cooling, prepare the frosting. In a mixing bowl, beat together the softened unsalted butter and creamy peanut butter until smooth and fluffy.
Gradually add the powdered sugar, alternating with the milk and vanilla extract, mixing until you reach your desired consistency. The frosting should be creamy but not too runny.
Once the cakes are completely cool, place one layer on a serving plate and spread a generous amount of peanut butter frosting on top. Place the second layer on top and frost the top and sides of the cake.
For an extra touch, you can drizzle some melted chocolate or sprinkle chopped peanuts on top before serving.