This savory egg bake can be assembled the night before you want to bake it making it a delicious solution for brunch or a quick weeknight dinner. The beauty of this dish is that you can use any ingredients you have on hand — replace the rosemary bread with leftover sourdough, swap mozzarella cheese for the Cheddar, or use shallots in place of the onion — use what works.
Lightly coat the inside of a 9-inch square glass baking dish with oil. Preheat the oven to 350 degrees Fahrenheit.
Heat a pan over medium heat. Add the bacon and cook it until it is nearly done. Add the onion and cook until soft, about 2 minutes. Add the garlic; as soon as the garlic becomes fragrant add the mushrooms and cook until softened slightly, about 2 minutes. Turn the heat off and allow the mushroom mixture to cool completely.
Place half of the bread cubes into the prepared baking dish. Top the bread with half of the cooled mushroom mixture and half of the cheese. Then, add the remaining bread and the remaining mushroom mixture.
Combine the eggs, cream, milk, salt, and pepper in a large measuring cup and whisk until combined. Slowly pour the custard into the prepared baking dish, making sure all the bread cubes are saturated. Press on the bread slightly to submerge it, if necessary. Top the casserole with the remaining cheese. If you are not baking the casserole right away, cover it tightly with plastic wrap and store it in the refigerator for up to 12 hours.
Bake the casserole in the oven until it puffs up, the custard is set, and the cheese is golden brown, about 30-35 minutes. Cool for 5 minutes before serving.