Whisk together the egg yolks, and sugar until pale and thick. Set aside.
In a large saucepan over medium heat, add the milk, cream, chocolate, vanilla, and spices. Stir often until the chocolate has melted, and everything is combined.
Remove from the heat and pour into the egg mixture, whisking contantly. Pour the mixture back into the pan and heat gently over low-medium, stirring, until smooth and thick enough to coat a spoon. Do not allow to boil.
Remove from the heat, pour into a mixing bowl (or another container), cover and refrigerate overnight, or for up to 3 days. For a perfectly smooth eggnog, pour through a sieve before chilling.
Pour into glasses and serve.
Notes
This recipe can easily be halved if you need less servings.