Heat the oven to 200°C (400°F). Brush the cut sides of the squash halves with half the olive oil, season with a pinch of salt and pepper, and place them cut-side down on a baking sheet.
Roast the squash for 30–35 minutes, until the flesh is tender when pierced with a knife. Leave the oven on.
While the squash roasts, heat the remaining olive oil in a large skillet over medium-high heat. Add the onion and cook for 3–4 minutes until softened.
Add the garlic and cook for 30 seconds, then add the ground beef. Break it up with a wooden spoon and cook for 6–8 minutes until browned all over.
Stir in the smoked paprika, cumin, oregano, chilli flakes, salt and pepper, then add the spinach and cook for 2 minutes until wilted. Taste and adjust the seasoning.
Turn the squash halves cut-side up and scoop out a little flesh from the centre of each to make room, mixing the scooped flesh into the beef.
Spoon the beef filling into the squash boats, top with the shredded cheese, and return to the oven for 8–10 minutes until the cheese is melted and bubbling.
Sprinkle with fresh parsley and serve hot, one boat per person.
Notes
Roast squash cut-side down so it steams tender. Trim the base flat so the boats sit steady. Keeps 3 days refrigerated; reheat in the oven.