Preheat oven to 170 degrees celsius.
Grease two 9 inch round cake pans and line with baking paper.
Sift the flour, sugar, cocoa powder, baking powder, bi-carb soda and salt into a bowl and set aside.
Using beaters or a stand mixer, mix the buttermilk, oil, eggs and vanilla in a large bowl until well combined.
Slowly add all of the dry ingredients to the wet ingredients with the mixer on low.
Pour in the coffee and mix.
Divide the batter equally between the baking pans and bake for approximately 25 minutes or until a toothpick inserted in the center comes out clean (don't overcook the cake - you want it to be nice and fudge-like!)
Allow to cool completely.
To make the frosting beat the butter on high speed until smooth and creamy (this will take a couple of minutes).
Reduce the speed to low and slowly add in 3 ½ cups of icing sugar as well as the cocoa powder.
Beat until the icing sugar and cocoa have been completely mixed into the butter (again this will take a couple of minutes).
Turn the mixer up to medium speed and add in the vanilla and the milk.
Beat on high speed for 1 minute.
If your frosting isn't thick enough, feel free to add in the remaining ½ cup of icing sugar.
Add a tiny bit of salt to taste (optional).
Spread a little frosting onto a serving cake plate (this will hold the cake in place).
Carefully place one of the cakes on top of the icing (make sure the flat side is facing up).
Using a spatula or flat knife, spread the top of the cake with frosting.
Place the second cake on top (this time with the rounded side up) and spread the frosting evenly onto the top and the sides of the cake.
Decorate with fresh strawberries or any preferred toppings.
Store in an airtight container at room temperature for 3-4 days or in the fridge for 5-6 days. Please note that keeping the cake at room temperature will result in a beautiful, moist texture.