Cut the Italian bread into 3/4-inch cubes and spread them on a baking sheet. Toast them in a 325°F oven for about 10-12 minutes, stirring halfway through, until they're lightly golden and slightly dried out but still tender inside. This prevents them from becoming soggy when soaked in the custard. While the bread toasts, grate both the Parmigiano-Reggiano and Gruyère cheeses finely, dice the onion into 1/4-inch pieces, mince the garlic, and squeeze the thawed spinach very thoroughly in a clean kitchen towel to remove as much moisture as possible—this is crucial for preventing a watery strata.
Melt the butter in a large skillet over medium heat. Add the diced onion and cook for 4-5 minutes, stirring occasionally, until softened and just beginning to turn golden at the edges. Add the minced garlic and cook for about 30 seconds until fragrant, then add the squeezed spinach and stir constantly for about 2 minutes to combine. I like to add a small pinch of salt here to help draw out any remaining moisture from the spinach. Let the mixture cool slightly while you butter your baking dish.
Butter a 9x13-inch baking dish generously. Create three even layers by distributing one-third of the toasted bread cubes on the bottom, followed by one-third of the sautéed spinach mixture from Step 2, then one-third of the mixed cheeses. Repeat this layering twice more, finishing with a cheese layer on top. This triple-layering technique ensures even distribution of flavors and textures throughout the strata.
In a large bowl, whisk together the eggs, room-temperature half-and-half, Dijon mustard, salt, black pepper, and ground nutmeg until smooth and well combined. The room-temperature half-and-half is important—if it's too cold, it can cause the eggs to seize up slightly. Pour this custard mixture evenly over the layered bread and cheese, making sure it soaks into all the crevices. I find that tilting the baking dish slightly as you pour helps the custard reach the corners.
Cover the baking dish with plastic wrap and refrigerate for at least 1 hour, though overnight is even better. This resting period allows the bread to fully absorb the custard and gives the flavors time to meld together, resulting in a much more cohesive and flavorful dish.
Remove the strata from the refrigerator and let it sit at room temperature for about 15 minutes. Preheat your oven to 325°F. Bake uncovered for 70-80 minutes, until the top is golden brown and a knife inserted into the center comes out clean or with just a few moist crumbs (the residual heat will continue to cook it slightly). Remove from the oven and let it rest for 10-15 minutes before serving—this helps it set and makes it easier to slice and serve.