Heat the oil in a non-stick pan, add the mustard seeds, cloves, cardamom pods and cinnamon stick and stir fry for 20 seconds (be careful, the seeds might pop). Add half of the chopped onion and fry for 4-5 minutes until soft.
Meanwhile, place the remaining onion, the ginger, garlic, ground coriander and 100ml/3½fl oz of the coconut milk into a blender or food processor and blend to a smooth purée.
Add this mixture to pan along with the whole green chillies and salt, to taste. Cover with a lid and cook over a low heat for 12-15 minutes, giving the pot an occasional stir.
Add the remaining coconut milk, the water, the currry leaves, black pepper and garam masala and the fish and leave to cook undisturbed for about 3-5 minutes, until the fish is opaque and cooked through.
To serve, stir in the lemon juice and coriander. Taste and adjust the seasoning if necessary, then pour into bowls and serve with rice.