Spray a 9x13-inch baking dish with cooking spray.
Spray a frying pan with cooking spray. Place diced bacon in pan and cook until evenly browned. When cooked, take out and place on a plate with a paper towel on it to cool.
Break up the sausage in the same frying pan. Cook until browned. Place on the same plate with the bacon.
In the same pan with the bacon and sausage drippings, heat the onion slices until caramelized, for about 5 minutes over medium heat, stirring frequently. Season with salt and pepper when browned. Next, wilt the entire bag of spinach in the same pan over medium heat. This should only take a few minutes. Season with salt and pepper.
Crack eggs into a large mixing bowl. Add in heavy cream, salt, pepper and cayenne.
Place bread cubes in the large mixing bowl and whisk mixture thoroughly. Allow bread mixture to sit about 15-30 minutes to absorb the liquid.
Transfer half of the bread mixture to the sprayed baking dish. Spread evenly over the bottom and press mixture down a bit. Top with half of the grated Cheddar cheese. Add cooked bacon, sausae, wilted spinach and caramelized onions in an even layer.
Top the casserole off with the rest of the soaked bread cubes, spread evenly and pressed down slightly. Sprinkle with the rest of the grated cheese. Cover and let strata sit at room temperature for 1 hour before baking.
Preheat oven to 350 degrees F (175 degrees C) Bake strata in preheated oven until set, about 45 minutes. Optionally, you can broil the strata for a minute or two to brown the top.