Prepare the Bread:
Grease a 9x13-inch baking dish and arrange the cubed bread evenly in the dish.
Make the Custard:
In a large bowl, whisk together eggs, milk, cream, granulated sugar, brown sugar, vanilla extract, cinnamon, nutmeg, and salt.
Assemble the Casserole:
Pour the custard mixture evenly over the bread cubes, pressing gently to ensure all pieces soak in the liquid. Cover the dish with plastic wrap and refrigerate for at least 4 hours or overnight.
Prepare the Topping:
In a bowl, combine flour, brown sugar, and cinnamon. Cut in the butter using a pastry cutter or your fingers until crumbly. Store in the fridge until ready to bake.
Bake the Casserole:
Preheat the oven to 350°F (175°C). Sprinkle the topping mixture evenly over the soaked bread. Bake uncovered for 45–50 minutes or until the top is golden brown and the casserole is set.
Serve:
Let the casserole cool for a few minutes before serving. Top with powdered sugar, maple syrup, or fresh fruit as desired.