Peel and thinly slice the onion. Set half of it aside. Peel and grate the ginger and 1 garlic clove. Finely chop the tomatoes. These are your ingredients for the base of the cod sauce.
Heat a medium pan for a few mins. When warm, drizzle in 1 tbsp olive oil or coconut oil. Add half the sliced onion, the ginger and the garlic. Fry for 2 mins till just softened. Add the tomatoes, curry leaves and 2 tsp tikka masala spice. Stir well and cook for a further 2 mins. Pour in the coconut milk and 300ml boiling water. Turn the heat to low. Pop on a lid and simmer for 10 mins.
Finely shred half the cabbage. (See pur tip for what to do with the otherhalf.) Thinly slice the remaining garlic clove. Halve the chilli. Flick out most of the seeds. Finely slice it. Set to one side.
Tip the rice into a large bowl. Cover with cold water and whisk for 1-2 mins till the water is cloudy. Drain and rinse.
Peel and grate the turmeric into a pan. Drop in the cinnamon stick. Tip the rice into the pan. Cover with 300ml boiling water and add a pinch of salt. Simmer for 8 mins till the rice is tender and all the water has been absorbed. Remove from the heat and pop a lid on.
When the rice has 5 mins left to cook, lower the cod into the bubbling coconut sauce. Pop on a lid. Cook for 5 mins.
Heat a frying pan or wok. Drizzle 1 tbsp oil. Drop in the garlic, chilli and mustard seeds. Sizzle for 2 mins. Then drop in the cabbage and stir well. Pour in 50ml boiling water and cook for 2 mins.
Taste and season the cod sauce, the rice and the cabbage. Spoon the golden rice into warm shallow bowls. Top with a cod fillet and spoon over the sauce. Serve with the spiced cabbage on the side.