Trim the top off the onion squash and slice he squash in half. Scoop out the seeds and cut into chunks that are 1-2cm thick. Peel and thinly slice the onion. Pour 2 tbsp oil into a large pan and warm to a medium heat. Slide in the onion and squash. Sprinkle in a pinch of salt and pepper. Fry for 10 mins, stirring occasionally, till slightly softened.
Meanwhile, peel and finely chop the garlic cloves. Peel and finely grate the ginger. Halve the chilli and flick out any seeds and membrane for less heat. Finely chop the chilli. Peel the turmeric and finely grate it (you may want to grate the turmeric onto a plate as it stains, see our tip below). Roughly chop the tomatoes into chunks.
When the squash and onion have cooked for 10 mins, slide in the chopped garlic, ginger, chilli and turmeric. Sprinkle in 1 tbsp each garam masala and mustard seeds. Stir well and fry for 2 mins, till the pan smells aromatic.
Slide the chopped tomatoes into the pan. Crumble in the coconut cream and stock cube. Pour in 300ml boiling water. Bring to the boil, then reduce to a simmer and cook for 20 mins.
Tip the rice into a small pan and pour in 300ml boiling water. Add a pinch of salt, cover and bring to the boil, then turn the heat down and simmer for 8 mins till all the water has been absorbed. Take the rice off the heat and steam in the pan, lid on, for 3-5 mins to finish cooking the rice.
Chop the halloumi into small bite-sized chunks. When the curry has cooked and the squash is tender, add the halloumi and baby spinach leaves to the pan. Stir and cook for a further 5 mins, till the spinach is wilted.
Divide the rice between a couple of plates, top with the halloumi and squash curry and serve.