Chop the chocolate. Use a serrated knife to chop the chocolate into fine flakes; set aside.
Make a slurry. Whisk the cocoa powder, cornstarch, and salt together in a large, heatproof bowl. Slowly whisk in the cream, a little at a time, until you have a smooth mixture.
Whisk in the egg yolks. Whisk the egg yolks into the cream and cornstarch mixture.
Combine the milk and sugar. Pour the milk into a 3-quart (or larger) saucepan. Add the sugar and warm over medium heat, stirring frequently, until the sugar is dissolved.
Bring the milk to a simmer. Bring to a gentle simmer over medium heat. Watch for the surface of the milk to vibrate and for bubbles to form around the edges of the pot.
Temper the egg mixture. Pour most of the hot milk into the bowl of cream and egg yolks. Whisk until well-combined, then pour everything back into the pot.
Bring the pudding to a full boil. Bring the mixture to a full boil over medium-high heat, stirring frequently. (It should look like lava boiling up!) At this point, the pudding will look much thicker.
Cook the pudding for 2 minutes. Cook for 2 minutes more, whisking constantly and vigorously. Get your whisk into all corners of the pot.
Flavor the pudding. Remove the pot from the heat and whisk in the vanilla. Add the chopped chocolate and let sit for 1 to 2 minutes or until melted. Whisk vigorously until the chocolate is fully incorporated.
Chill the pudding. Transfer the pudding to a storage container and press plastic wrap or wax paper directly onto the surface of the pudding. Cover with a lid and refrigerate.
