Heat the 2 cups whole milk in a small saucepan over medium heat until it's steaming and there are small bubbles coming up around the edges, but do not let it boil.
2 cups whole milk
While the milk is heating, put the 5 extra large egg yolks, ⅓ cup granulated sugar and ⅛ teaspoon salt into the bowl of an electric mixer fitted with a whisk attachment. Whisk at medium high speed until the eggs are a shiny pale yellow color (about 2 minutes).
5 extra large egg yolks, ⅛ teaspoon salt, ⅓ cup granulated sugar
Add the 30 grams cornstarch and 15 grams unsweetened cocoa powder and whisk until the mixture is smooth, scraping down the bowl as needed.
30 grams cornstarch, 15 grams unsweetened cocoa powder
With the mixer running at low speed, slowly pour in the hot milk along the edge of the bowl being careful to avoid the whisk. A pouring shield will help.
Wash the saucepan out and then strain the pudding mixture back into the pot through a fine mesh sieve.
Put the pot back on the stove over medium heat and cook the chocolate pudding, stirring constantly with the spatula. Be sure to scrape up the bottom of the pan as the mixture thickens so it doesn't burn.
Your pudding is done when it's very thick and has reached 170 degrees F. Don't worry if some lumps form, provided you strained the mixture in step 5, the lumps should go away in the next step.
Turn off the heat and then add the 140 grams dark chocolate a little bit at a time. Stir vigorously with the spatula to incorporate the melting chocolate and to break up any lumps.
140 grams dark chocolate
Once all the chocolate has been added and your pudding is smooth, stir in the 1 tablespoon cultured unsalted butter, ¼ cup heavy cream and 2 teaspoons vanilla extract until uniformly incorporated.
¼ cup heavy cream, 1 tablespoon cultured unsalted butter, 2 teaspoons vanilla extract
The pudding can be served warm, or you can cover with plastic wrap pressed up against the pudding to chill.