01 - Butter a 9x13 inch baking dish thoroughly. Distribute the bread cubes evenly across the bottom of the dish.
02 - Whisk eggs, milk, heavy cream, sugar, vanilla, cinnamon, nutmeg, and salt in a large bowl until completely smooth and well combined.
03 - Pour the custard mixture uniformly over the bread cubes. Gently press down on the bread to ensure it absorbs the liquid thoroughly.
04 - Mix melted butter, brown sugar, and cinnamon in a small bowl until combined. Stir in nuts if using.
05 - Sprinkle the topping mixture evenly over the entire surface of the casserole.
06 - Cover the dish with aluminum foil and refrigerate for at least 2 hours, or preferably overnight for optimal texture.
07 - Preheat the oven to 350°F. Remove the casserole from the refrigerator and let it stand at room temperature while the oven heats.
08 - Bake the covered casserole for 30 minutes.
09 - Uncover the dish and continue baking for 15 additional minutes, until the top is golden brown and the custard is completely set.
10 - Allow the casserole to cool for 10 minutes before serving. Serve warm, optionally accompanied by maple syrup or fresh berries.