Combine the milk and heavy cream in a medium saucepan over medium heat. Heat until small bubbles form around the edges, but do not let it boil.
In a separate bowl, whisk together the cocoa powder, sugar, and salt.
Slowly whisk about 1/2 cup of the hot milk mixture into the dry ingredients until a smooth paste forms. This prevents lumps.
Pour the chocolate paste back into the saucepan with the remaining milk mixture.
Continue to cook over medium-low heat, whisking constantly, until the mixture is steaming and the chocolate is fully melted and incorporated. Do not allow it to boil.
Reduce the heat to low and simmer gently for 3 to 5 minutes, whisking often, until the hot chocolate thickens slightly. This step creates the rich, creamy texture you want.
Remove the saucepan from the heat and stir in the vanilla extract.
Pour the hot chocolate into mugs immediately. Top with your preferred toppings.
Notes
For an extra thick hot chocolate, you can whisk in 1 teaspoon of cornstarch mixed with 1 tablespoon of cold milk before heating.
Use high-quality chocolate for the best flavor in this gourmet hot chocolate.
This recipe is easily doubled for holiday gatherings.