Preheat your oven to 350°F (175°C). Grease the 9x13-inch baking dish with olive oil or cooking spray.
Add the Italian sausage to a large skillet over medium heat. Break it apart with a spatula as it cooks, browning evenly for about 5 minutes.
Stir in the diced onion, red bell peppers, and minced garlic. Cook for an additional 3-4 minutes until the vegetables are tender. Add the spinach, Italian seasoning, fresh rosemary, salt, and black pepper. Cook until the spinach is wilted, then remove from heat.
In a mixing bowl, whisk together the eggs, milk, ricotta cheese, and half of the Parmesan cheese until smooth.
Fold the cooked sausage and vegetable mixture into the egg mixture, ensuring everything is evenly distributed.
Pour the entire mixture into the prepared baking dish, spreading it out evenly. Top with the remaining Parmesan cheese.
Cover the casserole and refrigerate overnight.
Remove the casserole from the refrigerator and let it sit at room temperature for about 20 minutes. Then, bake for 45-50 minutes or until the top is golden brown and the center is set.
Let the casserole cool for a few minutes before slicing. Serve warm garnished with fresh herbs or additional cheese if desired.