2 1/4 cups whole milk
1/2 cup sugar
Pinch of salt
2 tablespoons cornstarch
3 tablespoons unsweetened cocoa powder
1 large egg
2 large egg yolks
5 ounces semisweet or bittersweet chocolate, finely chopped
2 tablespoons unsalted butter, cut into pieces
1 teaspoon vanilla extract
Lightly whipped cream, for serving
In a medium saucepan, combine 2 cups of the milk with 1/4 cup of the sugar and the salt and bring to a boil over moderate heat, stirring to dissolve the sugar. Remove from the heat.
In a medium bowl, whisk the cornstarch with the unsweetened cocoa powder and the remaining 1/4 cup of sugar until blended. Add the remaining 1/4 cup of milk and whisk until smooth. Whisk this mixture into the hot milk in the saucepan and bring to a boil over moderate heat, whisking constantly. Reduce the heat to moderately low and simmer, whisking constantly, until the pudding is thick enough to coat the back of a spoon, about 2 minutes.
In a medium bowl, whisk the whole egg with the egg yolks. Gradually whisk about 1 cup of the hot cocoa pudding into the eggs until thoroughly incorporated, then scrape the pudding back into the saucepan. Cook the pudding over moderate heat, whisking constantly, until it just comes to boil, about 2 minutes.
Strain the pudding into a medium heatproof bowl. Add the chopped chocolate, butter and vanilla and whisk until the chocolate and butter are melted and incorporated and the pudding is smooth, about 2 minutes. Transfer the pudding to six 6-ounce ramekins and refrigerate until chilled. (If you're not in a hurry, press a piece of plastic wrap directly onto the surface of the pudding in the bowl and refrigerate.) Serve with lightly whipped cream.
The chocolate pudding can be covered with plastic wrap and refrigerated for up to 4 days.