2 ¼ cups whole milk
⅔ cups sugar
⅓ cup unsweetened cocoa powder
1 tablespoon cornstarch
3 egg yolks
1 teaspoon pure vanilla extract
1 shot espresso
⅛ teaspoon salt
Whipped cream, for topping
Raspberries, for topping
In a nonreactive saucepan, bring 2 cups milk, sugar, and cocoa powder to a simmer over medium-high heat. Remove from heat.
In a separate nonreactive medium bowl, whisk the remaining ¼ cup milk, cornstarch, egg yolks, vanilla, espresso, and salt. Slowly whisk in half of the warm milk mixture into the egg mixture. Transfer the egg mixture back to the saucepan (with remaining milk mixture) and cook over medium heat, whisking constantly, until the pudding comes to a boil. Reduce the heat to a simmer to thicken the pudding, about 3 minutes more, whisking often.
Transfer the pudding into a large bowl and cover the surface with plastic wrap. Refrigerate for at least 4 hours before serving. Serve with whipped cream and raspberries.
Nonreactive meaning stainless steal, metal, glass, or ceramic.