Grease a 9x13-inch casserole dish with nonstick spray or olive oil.
Heat a little olive oil in a large skillet over medium-high heat. Add the sausage and cook until golden brown, making sure it’s cooked through, around 8-10 minutes. Transfer to a paper towel lined plate.
12 oz uncooked breakfast sausage
Add the butter to the same skillet and melt over medium heat. Cook the onion until soft and translucent, around 2-3 minutes. Then add the spinach and cook to wilt, around- 2-3 minutes. Transfer the onion and spinach mixture to the prepared baking dish. Cut the sausage into pieces and add it in with the tomatoes, scallions, and bagels. Toss gently to mix it all if needed, leaving some of the tomatoes on the top.
1 Tablespoon butter, 1 small yellow onion, 5 oz baby spinach, 1 cup cherry tomatoes, 2 green onions, 4 plain bagels
In a separate large bowl, whisk together the eggs, milk, parmesan cheese, gruyere cheese, salt, and pepper. Pour the egg mixture over the bagel and vegetable mixture, pressing it down so the bagels soak up the liquid. Then nestle the cream cheese chunks around the baking dish. Sprinkle on the everything bagel seasoning.
10 large eggs, 2 cups whole milk, 1/2 cup grated parmesan cheese, 1/2 cup gruyere cheese, Kosher salt and black pepper, 4 oz full-fat brick cream cheese, 2 Tablespoons everything bagel seasoning
Cover and refrigerate for at least 2 hours, or overnight, to allow the bagels to absorb the egg mixture.
When you're ready to bake, preheat the oven to 375°F. Remove the breakfast casserole from the fridge and bake for 50-55 minutes, or until the center is set and the edges are golden brown. Tent with aluminum foil if the top becomes too brown before the center is cooked.