Combine flour, white sugar and bicarb soda in a large mixing bowl; set aside.
Melt 250g butter in a heavy saucepan; stir in 1/2 cup cocoa. Stir in buttermilk and eggs until well blended. Cook over medium heat, stirring constantly, until mixture boils. Remove from heat. Mix into flour mixture, stirring until smooth. Stir in 1 teaspoon vanilla. Pour batter into a greased and floured 20x30cm baking pan.
Bake at 180 degrees C for 20 to 25 minutes, or until an inserted knife comes out clean. Cool 10 minutes on a wire rack. Carefully spread peanut butter over warm cake. Cool completely.
To Make icing: Combine 125g butter or margarine, 1/4 cup cocoa and buttermilk in a small sauce pan. Bring to a boil over medium heat, stirring constantly. Pour over icing sugar, stirring until smooth. Stir in 1 teaspoon vanilla. Spread chocolate icing over peanut butter on cake. Cut into squares.