Prep the squash: Heat oven to 400°F (200°C).
Halve the spaghetti squash lengthwise and scoop out the seeds. Brush cut sides with 1 tablespoon olive oil and season with salt and pepper.
Roast: Place cut-side down on a parchment-lined sheet. Roast 35–45 minutes, until the skin gives slightly when pressed and strands pull easily with a fork.
Fluff the strands: Let cool a few minutes.
Use a fork to scrape long strands into a bowl. Taste and season with a pinch of salt.
Cook the veggies: Warm 2 tablespoons olive oil in a large skillet over medium heat. Add asparagus and a pinch of salt.
Cook 3–4 minutes until bright green and crisp-tender.
Add aromatics: Stir in garlic and a pinch of red pepper flakes. Cook 30–60 seconds until fragrant, not browned.
Tomatoes time: Add cherry tomatoes. Cook 2–3 minutes, just until they start to soften and release a little juice.
Combine: Add spaghetti squash strands to the skillet.
Toss with tongs to coat in the garlicky oil and veggie juices.
Brighten: Add lemon zest and 1–2 tablespoons lemon juice. Sprinkle in half the Parmesan and most of the basil or parsley. Toss again, taste, and adjust salt, pepper, and lemon.
Finish: Drizzle with another teaspoon of olive oil if needed.
Top with remaining Parmesan, extra herbs, and nuts if using. Serve warm.