Preheat your oven to 400°F.
Cut the spaghetti squashes in half lengthwise and scoop out the seeds.
Place them cut-side down on a baking sheet and roast for 30-40 minutes, or until tender.
While the squash is roasting, heat the olive oil in a large skillet over medium heat.
Add the diced onion and sauté for about 5 minutes, until translucent.
Stir in the minced garlic and cook for an additional minute.
Add the chopped spinach to the skillet and cook until wilted, about 2-3 minutes.
Remove from heat and stir in the crumbled feta cheese, cherry tomatoes, oregano, salt, black pepper, and red pepper flakes if using.
Once the spaghetti squashes are done, let them cool slightly.
Use a fork to scrape the insides into strands and transfer them to a large mixing bowl.
Combine the spaghetti squash strands with the spinach and feta mixture.
Spoon the mixture back into the squash shells and top with shredded mozzarella cheese.
Place the filled squash halves back on the baking sheet and bake for an additional 15-20 minutes, or until the cheese is bubbly and golden.
Let cool for a few minutes before serving. This dish is best enjoyed warm.