Preheat oven to 340°F/170°C. Butter an 8in/20cm round deep cake pan. Line the base then flour the sides with a mixture of flour and cocoa powder.
In a stand mixer bowl, sift the flours, cocoa powder, sugar, bicarbonate of soda and salt.
Add the milk, butter and vanilla.
Mix on low for 30 seconds. With a rubber spatula, scrape the sides and base of the bowl to ensure all the flour is incorporated.
Add the eggs.
Mix on medium for 2 minutes.
Pour in to prepared pan. Give the pan one sharp bang on the kitchen bench to burst excess air bubbles.
Bake for 45-50 minutes or until the cake is coming away from the sides and a skewer inserted comes out clean.
Cool for 10 minutes. Then turn out onto a wire rack. Place a second wire rack onto the cake and upturn so that the cake sit on it base. Don't just pick the warm cake up with your hands to turn it over because it may crack.
Sift the icing (powdered) sugar and cocoa into stand mixer bowl.
Add the butter and mix on low for 1 minute.
Add 1 tablespoon of milk and vanilla extract and continue to mix. Add more milk to achieve a a smooth but thick frosting.
Frost the cooled cake with all of the chocolate frosting. Decorate as desired.
If you don't have self raising flour you can make your own. In Australia, the brand I use calls for 2 teaspoons per cup of flour. However American readers may need to adjust this quantity - most brands call for 1 - 1 1/4 teaspoons per cup of flour. In other countries, please follow the directions on the packet of baking powder you are using.
You could also use cake flour in this recipe.
While I used dutch process cocoa powder in this recipe, you can substitute natural cocoa powder because this recipe doesn't rely solely on bicarbonate of soda for the leavening. Dutch process cocoa powder is wonderful in this quick-mix chocolate cake because I find it gives the cake a darker color and more of a chocolate taste. However. in this recipe the choice is yours. Use natural cocoa powder if that's what you have.