Preheat your oven to 375°F (190°C). Grease a 9x13 inch baking dish with butter or oil and set aside.
Cook the sausage. In a large skillet over medium heat, brown the breakfast sausage, breaking it up into crumbles as it cooks, about 5-7 minutes. If the sausage is lean, you may need to add a little oil to the pan first.
Sauté the vegetables. Once the sausage is mostly cooked through, add the diced onion and bell pepper to the skillet. Cook for an additional 3-4 minutes until the vegetables are softened. Add the garlic and cook for another 30 seconds until fragrant.
Add the spinach. Stir in the chopped spinach and cook just until wilted, about 1-2 minutes. Remove the skillet from heat and let the mixture cool slightly.
Whisk the eggs. In a large bowl, whisk together the eggs, heavy cream, dried herbs, salt, black pepper, and red pepper flakes (if using) until well combined.
Combine and assemble. Spread the slightly cooled sausage and vegetable mixture evenly in the prepared baking dish. Sprinkle 1 cup of the shredded cheese over the sausage mixture. Pour the egg mixture over the top, ensuring it's evenly distributed. Top with the remaining 1 cup of shredded cheese.
Bake to perfection. Place the baking dish in the preheated oven and bake for 35-40 minutes, or until the center is set and the top is golden brown. The casserole should be slightly puffed up and a knife inserted in the center should come out clean.
Rest before serving. Allow the casserole to rest for about 5 minutes before slicing. This helps it set up for cleaner slices.
Slice and enjoy. Cut into 8 squares and serve hot. Garnish with sliced green onions or a dollop of sour cream if desired.