Prep and roast the squash: Preheat your oven to 400°F (200°C). Carefully cut the spaghetti squash in half lengthwise and scoop out the seeds. Brush the cut sides with olive oil and season with salt and pepper.
Place cut-side down on a baking sheet and roast for 35–45 minutes, until the flesh is tender and strands easily pull away with a fork.
Cook the chicken (if not using pre-cooked): While the squash roasts, season chicken with salt, pepper, and a pinch of Italian seasoning. Sear in a skillet over medium heat with a little olive oil, 5–7 minutes per side, until cooked through. Let rest, then shred or dice.
Sauté aromatics: In the same skillet, add a drizzle of oil if needed.
Sauté the onion with a pinch of salt until soft, 3–4 minutes. Stir in the garlic and cook 30–60 seconds, just until fragrant.
Roast the tomatoes: Toss halved cherry tomatoes with 1 tablespoon olive oil, a pinch of salt, pepper, and the crushed red pepper if using. Spread on a baking sheet and roast for 10–12 minutes at 400°F, until softened and lightly blistered.
This step concentrates their flavor.
Shred the squash: When the squash is done, let it cool just enough to handle. Use a fork to scrape the flesh into spaghetti-like strands. Pat the strands with a clean towel to remove excess moisture.
This keeps your bake from getting watery.
Mix the filling: In a large bowl, combine spaghetti squash strands, shredded chicken, sautéed onion and garlic, roasted tomatoes (and their juices), 1 tablespoon olive oil, balsamic vinegar, Italian seasoning, half the Parmesan, half the mozzarella, and most of the basil. Taste and season with more salt and pepper as needed.
Assemble: Lightly grease a 9x13-inch baking dish. Spread the mixture evenly.
Top with the remaining mozzarella and Parmesan. Drizzle a little olive oil over the top for extra browning.
Bake: Reduce oven temperature to 375°F (190°C). Bake for 18–22 minutes, until the cheese is melted and the edges are bubbling.
For golden spots, broil on high for 1–2 minutes at the end, watching closely.
Finish and serve: Let the bake rest for 5 minutes. Sprinkle with the remaining fresh basil. Add a light drizzle of balsamic (or balsamic glaze) if you enjoy that sweet-tangy finish.
Serve warm.