Preheat the oven to 350°F. Grease and flour a 10x15-inch pan.
In a large bowl, whisk together the flour, sugar, baking soda and salt. Beat in the sour cream and eggs. Set aside.
In a medium saucepan on low heat, combine the butter, water and peanut butter. Bring the mixture to a boil, then remove from heat. Cool slightly, and then add this mixture to the ingredients in the bowl. Whisk together until well-blended.
Pour the cake batter into the prepared pan. Bake for 20 minutes, or until a toothpick inserted into the center comes out clean.
PREPARE THE ICING:
In a large saucepan, combine the peanut butter, milk and butter. Bring to a boil, and then remove the pan from heat. Stir in 2½ cups of powdered sugar and vanilla. Stir in the peanuts (if using). Spread the frosting over the warm cake.