Prep the pan and oven.
Heat oven to 350°F (175°C). Grease a 9x13-inch baking pan and line the bottom with parchment for easy slicing.
Whisk dry ingredients. In a large bowl, whisk flour, cocoa, baking powder, baking soda, salt, granulated sugar, and brown sugar until no lumps remain.
Combine wet ingredients.
In a separate bowl or large measuring cup, whisk eggs, oil, vanilla, and buttermilk.
Make the batter. Pour wet ingredients into dry and whisk just until combined. Stir in the hot coffee or water to loosen the batter.
It will be thin—that’s good.
Bake. Pour into the pan and bake 20–25 minutes, or until a toothpick comes out with a few moist crumbs. Do not overbake; a moist cake absorbs the milk best.
Cool slightly.
Let the cake cool in the pan for 15 minutes. Meanwhile, make the soak.
Mix the chocolate tres leches. Whisk condensed milk, evaporated milk, whole milk, cocoa powder, vanilla, and a pinch of salt until smooth and the cocoa dissolves.
A small whisk helps.
Poke the cake. Using a skewer or fork, poke holes all over the warm cake, going deep but not tearing the surface.
Pour and rest. Slowly pour the milk mixture evenly over the cake.
It will look like a lot—trust the process. Cover and chill at least 4 hours, preferably overnight, to let it fully absorb.
Whip the topping. Beat heavy cream, powdered sugar, and vanilla to medium-soft peaks.
Spread over the chilled cake.
Finish and serve. Dust with cocoa, add chocolate shavings, or sprinkle mini chips. Slice cold and serve.
For cleaner cuts, wipe the knife between slices.