Cut the onions into quarters, place in a food processor or blender and process for about 1 minute.
Add the tomato puree, cashew nuts, garam masala, garlic, chili powder, lemon juice, turmeric, salt and yogurt to the processed onions.
Process all the spice ingredients in the food processor for a further 1-1 1/5 minutes.
In a heavy-based saucepan, heat the oil, lower the heat to medium and pour in the spice mixture from the food processor. Fry for 2 minutes lowering the heat if necessary.
When the spice mixture is lightly cooked, add half the chopped fresh coriander, the sultanas and the chicken cubes and continue to stir fry for a further 1 minute.
Add the mushrooms, pour in the water and bring to a simmer. Cover the saucepan and cook over a low heat for about 10 minutes.
After this time, check that the chicken is cooked through and the sauce is thick. Cook for a little longer if necessary and serve garnished with the remaining fresh coriander.