Heat a large cast iron skillet over medium heat. Add olive oil and sausage. Cook until browned.
Add onions and cook until they begin to soften.
Add mushrooms and continue to cook for about 5 minutes longer, or until the onions are brown. Add garlic.
Add the spinach a little at a time.
It will begin to wilt. Season with salt and pepper.
Whisk eggs, half-and-half, salt and pepper in a bowl.
Add the bread cubes to the pan.
Top with the halved tomatoes and cheese.
Pour the egg mixture over. Press down with a spoon so the bread soaks up some of the egg.
Bake in a preheated 350-degree oven for 30 to 40 minutes. The eggs will be puffed and golden brown. Sprinkle with chopped parsley and chives. Serve directly from the pan.