Set the oven to preheat to 350 degrees. Spray a 9x13 inch baking pan with non-stick cooking spray and sprinkle with flour.
Set the pan aside as you prepare the cake ingredients.
In a large mixing bowl, stir together the flour, sugar, cocoa powder, baking powder, baking soda, and salt. Whisk until fully combined.
Then, add the buttermilk, oil, and the eggs. Stir until the mixture is smooth and there are no lumps. Finally, add the water. Stir until completely smooth.
Pour the mixture into the greased pan and smooth the batter into an even layer. Place the pan into the oven and bake the cake for 30 to 35 minutes or until the top becomes firm. After the cake is baked, take the pan out of the oven and let the cake cool completely in the pan before icing.
To prepare the icing, melt the butter in a saucepan over low to medium heat. Use a whisk to stir in the unsweetened cocoa powder. Allow this mixture to cook for 2 minutes. Make sure the cocoa and the butter mixture does not boil.
After 2 minutes, remove the saucepan from the heat and add the vanilla, buttermilk, and sugar. Whisk the mixture until it is smooth and consistent throughout. The icing should be thick and spreadable at this point. However, if it is too thick, slowly add more buttermilk, one tablespoon at a time, to thin it.
Once your icing is the correct consistency, spread it on the cooled cake while it is still warm. Allow the icing to cool and set before serving.