Sausage, Spinach, and Apple Strata

2 tablespoons extra-virgin olive oil
1 pound breakfast sausage, casings removed
2 shallots, chopped
1 apple, such as Honeycrisp, cored and chopped into 1/3 inch pieces
1 (10-ounce) box frozen chopped spinach, thawed and squeezed dry
Butter for the baking dish
8 cups cubed Italian bread (1-pound loaf)
1 cup shredded mozzarella cheese
3 cups whole milk
1 cup heavy cream
6 large eggs
1 teaspoon kosher salt
½ teaspoon freshly ground black pepper
¼ cup finely grated Parmesan cheese

Heat the oil in a large heavy skillet over medium heat. Add the sausage and cook for about 5 minutes, breaking it into small pieces with a wooden spoon. Add the shallots and sauté for about 3 minutes or until translucent. Add the apple and the spinach and sauté over medium-low heat for another 2 minutes. Set aside to cool slightly.
Generously butter a 3-quart baking dish. Place half of the bread cubes in the dish. Sprinkle half of the mozzarella over the bread and then top with half of the sausage mixture. Repeat layering.
Whisk the milk, cream, eggs, salt, and pepper in a large bowl and pour evenly over the strata. Top with the Parmesan cheese. Refrigerate the strata, covered with plastic wrap, for at least 2 hours and up to 12 hours.
Remove the strata from the refrigerator about 30 minutes before baking to allow it to come to room temperature. Preheat the oven to 350°F.
Bake the strata, uncovered, for about 50 minutes or until puffed, golden brown, and cooked through. A thin knife inserted in the middle of the strata should come out clean. If the top browns too quickly, cover with a sheet of aluminum foil. Let the strata stand for 5 minutes before serving.