Thinly slice the fennel bulb and the 1/2 red onion; set the slices aside.
Heat a large nonstick skillet over medium heat. Add the 1 pound pork breakfast sausage and cook, breaking it up with a wooden spoon or spatula, until no longer pink, about 5–7 minutes.
Use a slotted spoon to transfer the cooked sausage to a paper towel–lined plate to drain, leaving the pan grease in the skillet.
Add the sliced fennel and sliced onion to the greased skillet with 1/2 teaspoon of the kosher salt. Cook, stirring every couple of minutes, until the vegetables are translucent and starting to brown, about 15–20 minutes.
While the fennel and onion cook, crack the 12 eggs into a large bowl. Add the 1/4 cup milk, the remaining 1/2 teaspoon kosher salt, and the 1/4 teaspoon ground black pepper. Whisk until fully combined. Grease a 9x13-inch baking dish and set it aside.
When the fennel and onion are done, add the 5 ounces fresh baby spinach to the skillet and cook until wilted, about 3–4 minutes.
Spread the drained cooked sausage in an even layer in the prepared baking dish. Spread the cooked vegetables evenly over the sausage.
Pour the egg mixture evenly over the sausage and vegetables, making sure most of the vegetables are covered by the egg.
Cover the baking dish with plastic wrap and refrigerate overnight. (If you prefer to bake immediately, skip step 10 and proceed to step 11.)
In the morning, remove the covered dish from the refrigerator and let it sit at room temperature for about 30 minutes.
Preheat the oven to 350°F. Bake the casserole for 35–40 minutes, until set in the center (a toothpick inserted in the middle should come out mostly clean). Let the casserole rest for 5 minutes before slicing and serving.