Prep the bread: Preheat oven to 350°F (175°C). Grease a 9x13” baking dish. Spread cubed bread on a baking sheet and toast for 10 minutes if not already stale.
Make the custard: In a large bowl, whisk together milk, cream, pumpkin purée, eggs, brown sugar, vanilla, spices, and salt until smooth.
Soak it up: Add the bread cubes to the custard, folding gently. Let sit for 15–20 minutes so the bread absorbs all that pumpkin goodness.
Bake: Pour the mixture into your prepared dish. Bake for 40–45 minutes, until the top is golden and the center is just set. It should jiggle slightly, but not be liquidy.
Make caramel: While it bakes, melt sugar in a heavy saucepan over medium heat. Stir occasionally until it melts into a deep amber color. Add butter and stir constantly. Slowly pour in cream (careful — it’ll bubble!) and stir until smooth. Add salt if desired.
Serve: Let pudding cool for 10–15 minutes, then serve warm with generous spoonfuls of caramel sauce.