Use butter to grease a large 9 x 13-inch baking pan, then add bread cubes to pan.
Whisk together eggs, sugar, vanilla, cinnamon, and salt. When well combined, whisk in milk.
Carefully pour egg mixture evenly over bread cubes. Cover and refrigerate for at least 4 hours.
Preheat oven to 350 degrees. Remove bread pudding from refrigerator while oven heats.
Bake bread pudding until center is set and top is lightly browned, about 35 to 45 minutes.
Cool slightly, then serve warm with caramel sauce or your choice of toppings. Enjoy!
Notes
About the Panettone - This traditional Italian bread comes in different sized loafs. I used a 1 ½ pound / 24 ounce / 680 gram loaf, which yielded 12 cups of one-inch cubes. If you're using a smaller loaf (or leftover panettone), feel free to cut the recipe in half using the following proportions (bake in a 9-inch square baking dish):
6 cups cubed panettone
4 large eggs + 1 egg yolk
2 tablespoons + 2 teaspoons sugar
½ teaspoon vanilla extract
¼ teaspoon cinnamon
¼ teaspoon salt
1 ½ cups milk
Flavors - Any flavor of bread will work, including classic fruit, chocolate chip, vanilla, and more. I like to save more expensive loafs for eating as-is, so I used this easy to find and affordable panettone, and it works perfectly for this recipe!Chilling Time - For best results, make sure to chill the bread pudding for at least four hours before baking. This allows the custard to fully absorb into the bread. You may also prepare the pudding in the morning, if you plan to bake it at night. Or you may prepare it the night before, if you plan to bake it for breakfast / brunch.Milk - For best results, use whole milk. A neutral-flavored, unsweetened, thick and creamy plant based milk may also be used (such as soy milk).More Tips - Make sure to read the info before this recipe card for helpful tips, variations, topping ideas, and more!