In a large mixing bowl, whisk together eggs, half and half, salt, pepper and hot sauce.
Heat oil in a medium skillet; add onions and saute until tender, about 3 minutes. Add spinach and cook, tossing constantly until wilted. Place mixture in a colander and drain well by pressing spinach with the back of a large spoon. Transfer spinach to a clean cotton tea towel and carefully squeeze out the remaining moisture. Transfer spinach mixture to a cutting board and coarsely chop. Place bread pieces into prepared dish.
Top with spinach, sausage and half of cheddar cheese. Pour egg mixture over all and top with remaining cheddar cheese and Parmesan cheese. Cover with plastic wrap and refrigerate for 2 hours or overnight.
Preheat oven to 350 degrees F.
Bake 45 to 55 minutes or until casserole puffs and center of casserole is set. If top of casserole is browning too quickly, cover loosely with aluminum foil during baking process. Allow 8 to 10 minutes of resting time before serving.