Heat oil in a non-stick pan and stir fry mustard seeds, cloves, cardamom, and cinnamon for 20 seconds.
Add half of the chopped onion and fry for 4-5 minutes until soft.
Blend remaining onion, ginger, garlic, ground coriander, and 100ml of coconut milk into a smooth purée.
Add the purée, green chillies, and salt to the pan.
Cover and cook over low heat for 12-15 minutes, stirring occasionally.
Add remaining coconut milk, water, curry leaves, pepper, garam masala, and fish.
Simmer undisturbed for 3-5 minutes until the fish is cooked through.
Stir in lemon juice and fresh coriander before serving.