Cut spaghetti squash in half lengthwise. Place spaghetti squash cut side down in a baking dish with an inch or so of water. It’s done cooking when the skin pierces easily and feels soft. Note, you almost want to slightly undercook the squash as it’s going to cook again in the casserole. You don’t want your “noodles” to be mushy.
Once squash is done cooking, remove threads using a fork and set aside.
Place a large pan over medium heat. Add olive oil and then sausage, mushrooms and onions. Cook until the sausage is no longer pink. Be sure to break it into pieces with your spoon or spatula while cooking. Add garlic and cook another minute or so, careful not to let it burn. Add marinara to pan, as well as Italian seasoning, red pepper flakes and salt and pepper to taste.
Add the spaghetti squash noodles and mix to combine. (Note, if your pan isn’t big enough to accommodate noodles and sausage mixture, you might want to transfer everything to a large bowl.
Add whisked eggs and grated parmesan to the mix and stir everything together until well-incorporated. Prepare a square 8×8 or 9×9 baking dish (I actually use a 9x12ish rectangular baker and it works great!) by spraying with nonstick cooking spray or oiling down with olive oil. Spread spaghetti squash mixture into prepared baking dish. Add toppings of your choice.
Place in oven and bake for 1 hour or until the top of the mixture forms a slight crust that doesn’t give when you press on it in the middle of the dish. If you have topped with cheese, you might want to cover with foil for first 40 minutes of baking and uncover for last 20.