Preheat the oven to 350°F. Butter or spray a 9x9-inch baking dish with nonstick spray and set aside.
Ina medium bowl, whisk together the eggs, milk, heavy cream, sugar, vanilla, and cinnamon. Stir in stale bread and let sit 5 to 10 minutes, or until well coated. Spread evenly into the baking dish.
Bake 40 to 45 minutes, or until center is set and no longer runny. Tent with foil if it starts to brown too fast.
Butter Caramel Sauce
In a medium saucepan, stir together the butter, granulated sugar, brown sugar, and heavy cream over medium heat 5 to 7 minutes. Once it comes to a full boil, cook 1 minute and remove from heat. Stir in the vanilla.
Drizzle over bread pudding. Serve while warm.
Notes
Expert tips:
Stale bread: Leave the bread out overnight to stale (so that it doesn't get soggy!). If you only have fresh bread, simply toast it in the oven for about 5 minutes.
Allow bread to full soak: For best texture give time for the bread to be fully saturated in the egg mixture.
Softerpudding: If you prefer a softer center, you can remove it a little early from the oven, or add an extra 1/2 cup of milk.
Crisp top: If you like your bread pudding with a crispier top, bake for 2-4 minutes longer with the oven at 400°F.
Raisins: Add in about 1/2 cup dried fruit before baking.
Nuts: Pecans are my favorite. Add in about 1/2 cup. You could include both raisins and nuts if preferred.
Chocolate chips: If you love all things chocolate, you can mix in about 1/4 to 1/2 cups of chocolate chips.
Powdered sugar: Before serving, sprinkle the tops with powdered sugar.
Make-ahead: Prepare the bread pudding and place in the baking dish. Cover and refrigerate overnight. Bring to room temp the next day and proceed with baking.Freeze: After baking, don't add vanilla cream sauce. Cool completely then wrap tightly in aluminum foil or plastic wrap and store in freezer safe container. Thaw overnight in the refrigerator. Before serving, reheat and drizzle with sauce.