- Heat the oil in a large pot or saucepan.
- Over a high heat, fry the onions and garlic, stirring continuously. Add the ginger, curry powder and all of the spices,* and continue stirring for a minute. Season to taste with pepper and add the salt. Reduce the heat slightly.
- Add the vinegar and stock, plus all of the other remaining ingredients (except the fish, apricot jam and yoghurt). Cover, reduce heat, and simmer over a low heat, stirring occasionally until everything is tender for approximately 45 minutes. Add more stock if required.
- Add the fish, which has been cut into chunks, and simmer for a further 10-12 minutes or until the fish is cooked.
- Stir in the apricot jam and yoghurt a few minutes before serving.
- Serve this curry with yellow rice and a variety of sambals and atjars.
* For best results mix the ground spices together into a paste the day before, and refrigerate for 24 hours.