Heat oil in a medium frying pan over low heat. Add coconut and onions, and stir fry for 2 minutes or until coconut starts to change color.
Add ground turmeric, ground coriander and red chili powder. Saute, stirring, for 1-2 minutes or until coconut turns golden brown. Remove from heat. Set aside to cool slightly.
Place roasted coconut in the bowl of a food processor and grind to a smooth paste. (Add a little water if needed).
Place ground coconut paste, coccum, curry leaves and enough salt in a claypot or large pan over medium-high heat. Add enough water to make thick sauce. Bring it to the boil. Slide in fish pieces.
Add ground fenugreek and tomatoes. Bring to the boil. Cook, covered, for about 10- 12 minutes. Remove from heat.
To make the tempered spices, heat oil in a small frying pan over medium-high heat. Splutter mustard seeds.
Add shallots, red chili and curry leaves. Saute, stirring, for 1-2 minutes or until onions turn golden brown. Remove from heat.
Add tempered spices to the fish curry. Serve with steamed rice or any Indian flatbread.