Preheat oven to 350°F.
Heat the olive oil in a large, ovenproof cast-iron skillet over medium heat. Add the sausage. Cook and stir for about 8-10 minutes, until browned and cooked through.
Add the onions to the skillet. Cook, stirring occasionally, for about 5-7 minutes, until they soften and start to turn golden.
Add the mushrooms and continue to cook for about 5 minutes longer, until they release their juices and most of the moisture evaporates. Add the garlic and cook until fragrant, about 1 minute more.
Add the spinach a little at a time while stirring.
As the spinach begins to wilt, season to taste with salt and pepper.
In a mixing bowl, whisk together the eggs and half-and-half. Season lightly with salt and pepper if needed.
Remove skillet from heat. Add the bread cubes and toss lightly to combine.
Scatter the tomatoes and cheese over the top.
Pour the egg custard overtop. Press gently with a spoon to submerge the bread.
Transfer the skillet to the preheated oven and bake for 40-50 minutes, until the center is set, the top is puffed and lightly golden, and a knife inserted in the center comes out clean.
Remove from oven and let the strata stand for 5-10 minutes.
Sprinkle with chopped parsley and chives. Serve directly from the pan.