Preheat the oven to 180C (160C fan/ Gas Mark 4). Grease and line two 20cm round cake tins with baking paper.
In a large bowl, combine the flour, sugar, cocoa powder, baking powder, and bicarbonate of soda.
In a separate bowl, whisk together the eggs, buttermilk, oil, and vanilla extract.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined.
Slowly pour in the boiling water, mixing until the batter is smooth. The batter will be quite liquid.
Divide the batter evenly between the prepared cake tins.
Bake for 30-35 minutes, or until a skewer inserted into the center comes out clean.
Let the cakes cool in the tins for 10 minutes before transferring them to a wire rack to cool completely.
To make the fudge icing, beat the softened butter in a bowl until smooth and creamy.
Gradually add the sifted icing sugar and cocoa powder, mixing well after each addition.
Add the milk, a tablespoon at a time, until the icing reaches a smooth, spreadable consistency.
Once the cakes are completely cool, spread a layer of icing over the top of one cake, then top with the other cake.
Spread the remaining icing over the top of the second cake.
Optional Tips: For a richer flavor, substitute some of the vegetable oil with melted butter. For a vegan version, use plant-based milk and flax eggs. Ensure cakes are completely cool before icing to prevent melting. To increase the fudgy flavour, add chocolate chips to batter.