For the fish, wash the fish and blot dry with kitchen paper.
In a mixing bowl combine the yoghurt, garam masala, mustard seeds, coriander, cumin, chilli, cardamom pods and salt. Add the fish and coat well with the yoghurt mixture. Cover with cling film and leave to marinate for about an hour.
For the chutney, heat the oil in a saucepan, add the onion and cook until soft. Add the ginger, garlic, chilli, curry leaves and coconut. Cook for a couple of minutes, until the coconut is lightly browned. Add the tomatoes, sugar and balsamic vinegar.
Simmer uncovered for about 20-30 minutes, until the chutney has thickened and reduced.
To cook the fish, heat the oil in a frying pan, shake off the excess marinade from the fish and fry until golden, about 3-5 minutes each side depending on the thickness of the fish.
Serve topped with warm chutney.