Preheat the oven to 400°F (200°C).
Brush a thin layer of olive oil inside each halved spaghetti squash and season the flesh with garlic powder, sea salt, and cracked pepper.
Place the squash halves cut-side up on a baking pan and roast for about 30 minutes, until the flesh is tender and strands separate easily with a fork.
While the squash roasts, stir together the softened cream cheese and 2–3 tablespoons pesto in a mixing bowl until smooth.
Add the chopped spinach, shredded Parmesan, and 1/4 cup of the shredded mozzarella to the cream cheese mixture; mix to combine and add more cream cheese if too thick.
When the squash is cooked, remove from the oven and let cool a few minutes. Use a fork to scrape the flesh into spaghetti-like strands, leaving them in the squash shells.
Divide the cream cheese–pesto mixture between the two squash halves and work it into the strands, fluffing with a fork until evenly combined.
Sprinkle the remaining shredded mozzarella over each filled half and return to the oven.
Bake another 10 minutes, or until the cheese is melted and lightly golden; finish with a sprinkle of crushed red pepper and additional salt and pepper if desired, then serve.