Preheat the oven to 350°F (175°C).
Grease a 9x13 inch baking dish with butter.
In a large skillet, cook the mushrooms and onions over medium heat until they are soft and the onions are translucent.
Add the chopped spinach to the skillet and cook until wilted. Remove from heat.
In a large bowl, whisk together the eggs, milk, cream, salt, and pepper.
Layer half of the bread cubes in the bottom of the greased baking dish.
Top with half of the spinach mixture and half of the cheese.
Repeat the layers with the remaining bread, spinach mixture, and cheese.
Pour the egg mixture evenly over the top of the strata.
Let the dish sit for about 10 minutes to allow the bread to soak up the liquid.
Bake in the preheated oven for 45 minutes or until the top is golden brown and the mixture is set.
Remove from the oven and let cool for a few minutes before serving.