Preheat the oven to 400°F. Halve the spaghetti squash lengthwise, scoop out the seeds, brush with olive oil and sprinkle with salt. Roast cut side down on a lined baking sheet for 35 to 40 minutes until tender.
Scrape the squash into strands with a fork and let it cool slightly. Wrap the strands in a clean towel and squeeze out as much liquid as possible, which keeps the casserole from getting watery. Lower the oven to 375°F.
Brown the ground beef and sausage in a large skillet over medium-high heat, breaking them up, for 8 to 10 minutes. Drain the fat, add the garlic and cook for 1 minute, then stir in the marinara and italian seasoning and simmer for 5 minutes.
In a bowl, mix the cream cheese, ricotta, sour cream, parmesan, egg, garlic powder and parsley until smooth.
Grease a 9x13 inch baking dish and spread half of the squash in the bottom. Dollop the creamy mixture over it and spread gently, then top with the remaining squash.
Spoon the meat sauce evenly over the top and cover with the mozzarella.
Bake for 25 minutes until bubbly and golden. Let it rest for 10 minutes, then sprinkle with basil and serve.