Heat the oven to 400°F. Brush squash with oil, season with 1/2 teaspoon salt and roast cut-side down for 35 to 40 minutes. Cool, scrape strands and squeeze them dry in a clean towel.
Brown beef and onion and drain. Add garlic for 30 seconds, then tomatoes, basil, remaining salt and pepper and simmer 8 minutes.
Reduce oven to 375°F. Mix squash with eggs and 1 cup mozzarella and spread in a greased 9-by-13-inch dish.
Spread beef marinara over the squash and top with remaining mozzarella and Parmesan.
Bake for 30 to 35 minutes until set and browned. Rest 15 minutes.