First things first, grease a 9x13-inch baking dish. Then, spread your bread cubes out in an even layer inside the dish. Just dump 'em in!
In a large bowl, whisk together the eggs, milk, heavy cream, granulated sugar, melted butter, vanilla, cinnamon, and that little pinch of salt. Keep whisking until it’s all smooth and well-combined.
Now, pour this glorious egg mixture evenly over the bread cubes. Gently press down on the bread with a spatula to make sure every single piece gets a chance to soak up that custardy goodness. We don't want any dry spots!
Here's a key step! Cover the dish and pop it in the refrigerator for at least 4 hours, but honestly, overnight is even better. This gives the bread time to really absorb everything, which is what makes the casserole so amazing.
When you're ready to bake, preheat your oven to 350°F (175°C).
While the oven is heating up, let's make the crumbly topping. In a separate bowl, mix the flour, brown sugar, and cinnamon. Add the cold butter pieces and use your fingertips or a pastry cutter to work the butter into the mixture until it looks like coarse crumbs. Don't overthink it, a little lumpy is perfect!
Sprinkle this streusel topping evenly over the casserole.
Bake uncovered for 45 to 55 minutes, or until the top is golden brown and the center is set. The whole house is going to smell incredible, just warning you! Let it cool for about 10 minutes before serving. It's delicious with a drizzle of maple syrup!