Peel and finely chop the onion. Warm 1 tbsp oil in a deep frying pan or wok over a low heat. Add the onion and season. Fry for 8 mins till soft but not too coloured. Stir now and then.
While the onion cooks, peel and grate the garlic and ginger. Finely chop the chilli, flicking out the seeds for less heat. Finely chop the coriander stalks (keep the leaves for later). Chop the tomatoes.
Add the garlic, ginger, chilli and coriander stalks to the onion. Measure out 1 tsp garam masala and add to the pan. Cook and stir for 1-2 mins till the pan smells aromatic.
Add the chopped tomatoes and coconut milk to the pan. Pour in 150 ml boiling water. Cover and turn the heat up. Simmer for 15 mins till the sauce is a little thick. Roughly chop the spinach, discarding any really thick stalks.
Tip the rice into a bowl and cover with cold water. Whisk for 1-2 mins till the water goes cloudy, then drain and rinse the rice. Tip the rice into a pan. Add 350 ml boiling water and a pinch of salt.
Cover and bring to the boil. Turn the heat right down and gently simmer for 8 mins till all the water is absorbed. Take off the heat. Set aside, lid on, for 3-4 mins to finish cooking the rice.
Add the fish pie mix and spinach to the masala sauce. Cover. Simmer for another 5 mins till the fish is opaque and just beginning to flake. Taste and adjust the seasoning.
Serve the fish curry with the rice, garnished with the coriander leaves.