Prep the squash: Preheat your oven to 400°F (200°C). Carefully slice the spaghetti squash in half lengthwise and scoop out the seeds.
Season and roast: Drizzle the cut sides with 1 tablespoon olive oil and season with salt and pepper.
Place cut-side down on a baking sheet. Roast 30–40 minutes, until the flesh is tender and strands pull away easily with a fork.
Cool and shred: Let the squash rest for 5–10 minutes. Use a fork to scrape the flesh into spaghetti-like strands.
Set aside.
Start the sauce base: In a large skillet over medium heat, add the remaining 1 tablespoon olive oil and the butter. When melted, add the minced garlic. Cook 30–60 seconds until fragrant—don’t brown it.
Add tomatoes and liquids: Stir in the sun-dried tomatoes, heavy cream, and broth.
Whisk in Italian seasoning and red pepper flakes if using. Bring to a gentle simmer.
Thicken and season: Simmer 3–4 minutes, stirring often, until slightly thickened. Season with salt and pepper to taste.
Wilt the greens: Add the spinach and cook 1–2 minutes until wilted.
Cheesy finish: Reduce heat to low.
Stir in the parmesan until melted and the sauce is creamy. If it’s too thick, splash in a bit more broth. If it’s thin, simmer another minute.
Combine: Add the spaghetti squash strands to the skillet and toss gently to coat.
Warm through for 1–2 minutes so the squash absorbs the sauce.
Serve: Taste and adjust seasoning. Top with extra parmesan and fresh basil. Add your favorite cooked protein if you like.