Prepare the bread: Grease a 9-by-13-inch baking dish. Spread the bread cubes evenly across the bottom. If the bread is fresh and soft, dry it briefly before assembling.
Cook the bacon: Fry the bacon until crisp, following the package directions. Transfer it to a paper towel-lined plate, let it cool slightly, and cut it into bite-size pieces.
Cook the vegetables: Leave about 1 tablespoon of bacon fat in the skillet, or use a little olive oil. Sauté the onion until softened, add the garlic, and stir in the spinach. Cook until wilted and most excess moisture has evaporated.
Layer the ingredients: Scatter the bacon and cooked vegetables over the bread. Sprinkle the Parmesan evenly across the dish.
Mix the custard: Whisk the eggs, milk, Dijon mustard, salt, and black pepper in a large bowl until evenly combined.
Add the egg mixture: Pour the custard slowly over the bread and fillings. Gently press exposed bread cubes into the liquid without crushing them.
Chill the casserole: Cover the dish and refrigerate for at least 1 hour, preferably overnight, to allow the bread to absorb the custard.
Preheat the oven: Heat the oven to 375°F (190°C). Keep the assembled casserole refrigerated until the oven is ready.
Bake the strata: Bake uncovered for approximately 20 minutes. If the top browns too quickly, cover loosely with foil and continue baking for another 25–35 minutes, checking the center.
Check for doneness: The center should be set, and a food thermometer should register 160°F (71°C) in the center. Add more baking time if needed.
Rest and serve: Let the casserole rest for 5–10 minutes before slicing. Serve warm with fresh fruit, roasted breakfast potatoes, or a green salad.