1 Purée the onion in the small bowl of a food processor or mini chopper and set aside. Purée the garlic and ginger with a splash of water; set aside.
2 Heat 2 tbsp coconut oil in a large frying pan and fry the fish until golden, about 2 minutes each side. Remove, drain on kitchen paper and set aside.
3 Fry the aubergine for 4-5 minutes, until golden on all sides (in batches if needed, adding more oil as you go). Drain on kitchen paper and set aside.
4 Add the onion purée to the pan (and a small amount of oil if the pan is dry) and cook for 2-3 minutes, until it starts to dry out. Add the garlic-ginger paste, curry leaves and chillies and cook for 3-4 minutes, until fragrant.
5 Add the dry spices and tomatoes and cook, stirring. As soon as it starts to dry out, add the coconut milk, a little at a time. Once it has all been added, pour in the stock, a little at a time. This slow process is essential as it allows the spices to become fragrant and cook without burning. Season, reduce the heat and simmer gently for 5 minutes.
6 Return the fish and aubergine to the curry and take off the heat, allowing the residual heat of the pan to warm everything through. Garnish with the chopped coriander, and a drizzle more coconut milk, if liked. Finish with a little more chopped chilli – if you like it hot!