In a large skillet over medium heat, add the olive oil or spray with cooking spray. Once hot, add the uncooked Italian sausage. Break it apart with a spatula, and cook until browned and cooked through, about 5-7 minutes.
Add the diced onion, red bell peppers, and minced garlic to the skillet. Cook for an additional 3-4 minutes until the vegetables are softened. Stir in the fresh spinach, Italian seasoning, fresh rosemary, salt, and black pepper. Cook just until the spinach wilts, about 1-2 minutes.
In a large mixing bowl, whisk together the eggs, full-fat milk, ricotta cheese, and half of the grated Parmesan cheese until well combined.
Add the cooked sausage and vegetable mixture to the egg mixture, stirring gently to combine.
Grease a 9x13 inch baking dish with cooking spray or olive oil. Pour the combined mixture into the baking dish, spreading it evenly. Top with the remaining Parmesan cheese.
Cover the casserole with plastic wrap and refrigerate overnight. This allows the flavors to meld beautifully.
Preheat your oven to 350°F (175°C). Remove the casserole from the refrigerator and let it sit at room temperature for about 15 minutes. Bake in the preheated oven for 40-45 minutes, or until the center is set and the top is golden brown. Allow it to cool for a few minutes before slicing and serving.