Indian Pudding

4 cups whole milk
2/3 cup finely ground cornmeal
1/2 cup molasses
4 tablespoons unsalted butter, plus more for the dish
1/4 cup light or dark brown sugar
1/2 teaspoon kosher salt
1 teaspoon ground ginger
1 teaspoon ground cinnamon
1/4 teaspoon ground nutmeg, plus more for garnishing
1 teaspoon vanilla extract
2 cups (1 pint) heavy cream, whipped to firm peaks


Heat oven to 350 F.

In a large saucepan, over medium-high heat, bring 3 cups of the milk to a boil. In a small bowl, whisk together the remaining milk and the cornmeal. Whisking constantly, slowly add the mixture to the boiling milk. Reduce heat and simmer gently, stirring frequently, for 15 minutes. Remove from heat. Stir in the molasses, butter, brown sugar, salt, ginger, cinnamon, nutmeg, and vanilla.

Transfer to a buttered 1 1/2-quart casserole dish. Set the casserole in a roasting pan, pull the oven rack out halfway, and place the pan on it. Carefully add enough hot water to the pan to reach halfway up the casserole. Cover both pans with a single large sheet of foil. Bake for 1 hour. Remove foil. Bake until the pudding is almost set but still wobbly,1 1/2 hours more. Transfer casserole to a wire rack for at least 30 minutes. Spoon onto plates. Serve with the whipped cream and sprinkle with nutmeg.