Rinse the rice under cold water. Put the rice in a pan and cover with the water. Add the salt, cloves and the cardamon pods. Bring to the boil. Reduce to a simmer, cover with a lid and cook until the water is absorbed and the rice is tender.
Using a pestle and mortar grind all the spices to a fine powder.
Peel and finely chop the garlic. Then peel the onion and slice finely. Cut the green chilli in half, remove the seeds and slice. Chop the tomatoes.
Heat the oil in a large saucepan. Add the chopped onions, garlic, and chilli. Fry for a couple of minutes then add the curry leaves and cinnamon stick. Continue cooking until the onions become translucent, add the ground spices and cook for few seconds, then add the tomatoes and cook until they break down.
Add the coconut milk. Once the coconut milk is hot, add the fish to the pan. Simmer for approximately 5 minutes. Check the seasoning and then serve immediately with the rice.
«Like all curries this dish works well when you make the sauce one day and reheat and serve the next.»