Heat your oven to 200°C/Fan 180°C/Gas 6. Rinse the rice and tip it into a medium pan. Add 150ml boiling water and a pinch of salt. Cover and bring to the boil.
Once the rice is boiling, turn the heat down very low and gently simmer for 25 mins till the water has been absorbed. Take the rice off the heat and leave to steam in the pan, lid on, for 5 mins. The rice will keep warm in the pan while the curry finishes cooking.
Pull the leaves off the cauliflower and break it into small florets, chopping any chunky sections of stalk into pieces to match the florets. Pop in a bowl and tumble with ½ tbsp olive oil and a pinch of salt and pepper. Spread out on a baking tray and roast for 25-30 mins till the cauliflower is tender and golden all over.
While the cauliflower and rice cook, peel and finely chop the onion. Pop in a pan with 2 tbsp water. Season with salt and pepper. Cover. Cook over a low heat for 5-8 mins till soft. Give it a stir every so often. If it looks like it’s sticking, add a splash more water.
Peel and grate the garlic and turmeric (wear gloves and grate onto a plate to stop the turmeric staining). Add to the onion with 1 tsp each garam masala and mild curry powder. Cook and stir for 1 min.
Stir in the chopped tomatoes. Pour in 150ml boiling water. Bring to a boil. Cover and simmer for 5 mins.
While the sauce simmers, pull any large stalks from the watercress so you just have tender stems and leaves. Set aside.
Chop the cod into bite-sized pieces. Add to the tomato sauce. Cover and cook gently for 5 mins till the fish flakes easily. Taste and season with salt and pepper.
Fluff the rice up with a fork. Tumble in the roast cauliflower and toss to mix. Heap the rice up in bowls and top with the curried cod and the watercress. Serve straight away.