In a medium-sized saucepan, combine the whole milk, heavy cream, pumpkin puree, sugar, cinnamon, nutmeg, and ginger over medium heat. Whisk continuously until the mixture is warm and the sugar dissolves completely, about 5-7 minutes. Do not boil.
In a large bowl, whisk the egg yolks until they are pale and slightly thickened.
Slowly pour about a cup of the warm milk mixture into the egg yolks while whisking constantly to temper the eggs. This will prevent the yolks from scrambling.
Gradually pour the tempered egg mixture back into the saucepan with the remaining milk mixture, continuing to whisk constantly.
Cook the mixture over medium-low heat, stirring often, until it thickens enough to coat the back of a spoon, about 8-10 minutes.
Remove from heat and stir in the vanilla extract.
Pour the eggnog through a fine mesh strainer into a large bowl or pitcher to remove any lumps. Allow it to cool to room temperature. Then cover and refrigerate for at least 2 hours, or until chilled.
Serve in glasses, topped with a dollop of whipped cream and a sprinkle of ground cinnamon and nutmeg for garnish.
Notes
Chill for at least 2 hours before serving for best flavor.