Preheat your oven to 350°F (175°C). Lightly grease a 9x13-inch baking dish. Cube the bread and place in the baking dish
In a separate large bowl, whisk together the pumpkin puree, milk, heavy cream, granulated sugar, brown sugar, eggs, vanilla extract, pumpkin pie spice, and salt until smooth and well combined.
Pour the pumpkin custard mixture over the cubed bread. Gently stir to ensure all bread pieces are evenly coated. Let the mixture sit for about 10-15 minutes, allowing the bread to soak up the custard.
If using, fold in the chopped pecans.
Bake in the preheated oven for 45-55 minutes or until the top is golden brown and the center is set. The pudding should be slightly firm to the touch but still moist.
While the bread pudding is baking, make the caramel sauce (if using). In a medium saucepan over medium heat, melt the sugar, stirring constantly until it turns a light amber color. Add the butter and stir until melted. Slowly pour in the heavy cream while stirring (be careful, as the mixture will bubble up). Continue stirring until smooth. Remove from heat and add a pinch of salt. Let it cool slightly.
Allow the bread pudding to cool for 10 minutes before serving. Drizzle with the homemade caramel sauce for extra sweetness and a touch of indulgence.