Prep: Preheat oven to 350°F (175°C). Generously grease a 9x13 inch baking pan.
Mix Dry Ingredients: In a large mixing bowl, whisk together the flour, sugar, and baking soda. Set aside.
Boil Chocolate Mixture: In a large saucepan, combine 1 cup butter, water (or coffee), and 1/4 cup cocoa powder. Cook over medium heat until the butter melts and the mixture comes to a boil.
Combine Batter: Remove saucepan from heat. Pour the hot chocolate mixture over the flour mixture. Whisk until well combined (batter will be thick).
Add Wet Ingredients: Whisk in the buttermilk, beaten eggs, and vanilla extract until the batter is smooth and glossy. (The batter will be thin now).
Bake: Pour batter into the prepared pan. Bake for 25–30 minutes, or until a toothpick inserted in the center comes out clean.
Cool Slightly: Place the cake on a wire rack and let it cool for 10–15 minutes. Tip: You want to frost it while it is still warm, but not piping hot.
Make Frosting: While the cake cools, wipe out the saucepan. Combine 1/2 cup butter, milk, and 2 tbsp cocoa powder. Bring to a boil, whisking constantly.
Finish Frosting: Remove from heat. Gradually whisk in the powdered sugar and peppermint extract until smooth and pourable.
Pour & Top: Immediately pour the warm frosting over the warm cake, spreading gently to the edges. Sprinkle crushed candy canes on top immediately before the frosting sets.