In a large mixing bowl, whisk together the eggs and sugar until well combined.
Gradually add the milk, stirring continuously to incorporate.
Pour the mixture into a saucepan and heat over medium-low, stirring frequently.
Cook until the mixture thickens slightly, about 10-15 minutes (do not boil).
Remove from heat and let it cool for a few minutes.
Stir in the heavy cream, vanilla extract, nutmeg, and cinnamon.
If using alcohol, mix in the bourbon or rum.
Transfer the eggnog to a pitcher and refrigerate for at least 2 hours.
Before serving, stir well and taste; adjust sweetness or spice if needed.
Serve chilled in glasses, topped with whipped cream and a sprinkle of nutmeg.