Roast the squash. Preheat oven to 400°F (200°C). Halve the spaghetti squash lengthwise and scoop out seeds. Rub cut sides with 1 tablespoon olive oil, season with salt and pepper, and place cut side down on a baking sheet.
Roast 35–45 minutes until tender. Let cool, then scrape into strands. Pat dry with paper towels to remove excess moisture.
Brown the turkey. Heat remaining 1 tablespoon olive oil in a large skillet over medium-high heat.
Add ground turkey, season with salt, pepper, onion powder, and Italian seasoning. Cook, breaking it up, until browned and cooked through, 6–8 minutes. Stir in half the garlic for the last minute.
Set aside.
Make the Alfredo sauce. In a saucepan, melt butter over medium heat. Add remaining garlic and cook 30 seconds until fragrant. Pour in heavy cream and bring to a gentle simmer.
Reduce heat and whisk in Parmesan until smooth. Season with salt, pepper, and red pepper flakes if using.
Combine. In a large bowl, mix spaghetti squash strands, cooked turkey, half the mozzarella, and the parsley. Pour in the Alfredo sauce and toss until evenly coated.
Assemble and bake. Transfer mixture to a greased 9x13-inch baking dish.
Top with remaining mozzarella and a sprinkle of extra Parmesan. Bake at 400°F for 15–20 minutes, until bubbly and lightly golden on top. Broil 1–2 minutes if you want more color.
Rest and serve. Let the bake sit 5–10 minutes to set.
Taste and adjust seasoning. Garnish with extra parsley and serve warm.