1. Using a spice grinder or a good mortar and pestle, pound the whole spices to a fine powder.
2. Place the lamb, two of the chopped onions, tomatoes, ginger, garlic, chillies, spices and salt in a large saucepan. Add 500ml water, bring to a boil, then cover and cook gently for 45-60 minutes, or until the lamb is cooked and tender. Give the pot a stir every 10 minutes or so.
3. After about 45 minutes, melt the ghee in a small saucepan and fry the remaining onion until well browned.
4. There shouldn't be too much liquid left in the pan once the lamb is cooked. Cook off any excess moisture in the pan over a high flame for six or seven minutes, stirring quite often, until the sauce has mostly been absorbed by the lamb. This process will help homogenise the sauce and deepen the flavours. Add the browned onion and ghee.
5. Pour in the coconut milk and lemon juice, bring to a boil and simmer for five minutes; the sauce should be thick and creamy. Taste and adjust the seasoning, adding lemon juice or coconut milk until the dish is perfect for you, then serve.
Recipe courtesy of Waitrose