Combine 1 cup heavy cream and 1 cup whole milk in a large saucepan and heat over medium until it just reaches a simmer (small bubbles around the edges). Remove from heat and set aside.
In a medium bowl, whisk 6 egg yolks with 1/3 cup sugar until the sugar is dissolved and the mixture is pale.
Temper the yolks: measure out about 1/3 cup of the warm milk-and-cream mixture and whisk it into the yolks vigorously. Then, continuing to whisk, slowly pour the remaining warm milk-and-cream into the yolk mixture in a thin, steady stream until fully combined.
Return the combined mixture to the saucepan and place over medium heat. Stir constantly with a wooden spoon or heatproof spatula until the custard thickens enough to coat the back of a spoon, about 5 minutes. Do not let it boil.
Place 5 ounces coarsely chopped semisweet chocolate in a large mixing bowl. Pour the hot custard over the chocolate and let sit for 5 minutes to allow the chocolate to melt.
Whisk the chocolate and custard together until smooth. Add 1 tablespoon butter, 1/2 teaspoon salt, and 1 teaspoon vanilla extract, and whisk until fully combined and glossy.
Pour the pudding into serving dishes. Serve warm, or cover and chill in the refrigerator for at least 1 hour to serve cold. The pudding will keep in the refrigerator for up to 3 days.
Notes
Can be served warm or chilled. Keeps up to 3 days in the refrigerator.