Start by gathering all your ingredients. Dice the onion and red bell peppers, mince the garlic, and finely chop the fresh rosemary. This will make the cooking process smooth and efficient.
In a large skillet, heat the olive oil over medium heat. Once hot, add the Italian sausage. Use a wooden spoon to break it apart, cooking until it’s browned and fully cooked, about 5-7 minutes.
To the skillet, add the diced onion and red bell peppers. Sauté for another 3-4 minutes until the vegetables are softened. Then, add the minced garlic, Italian seasoning, chopped rosemary, salt, and black pepper. Cook for an additional minute until fragrant.
Add the fresh spinach to the skillet and stir until wilted, about 2 minutes. Remove the skillet from heat and let the mixture cool slightly.
In a large mixing bowl, whisk together the eggs, milk, ricotta cheese, and half of the grated Parmesan cheese until well combined.
Add the sausage and vegetable mixture to the egg mixture, stirring gently to combine.
Pour the entire mixture into a greased 9x13 inch baking dish. Sprinkle the remaining Parmesan cheese on top.
Cover the baking dish with plastic wrap and place it in the refrigerator overnight. This allows the bread to soak up all the flavors and ensures a perfectly moist casserole.
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 before baking. Bake for 45-50 minutes or until the center is set and the top is golden brown.