Combine the chicken with all of the marinade ingredients. Mix well and let stand in the refrigerator until needed.
Add in the marinated chicken along with the whole spices.
Stir the chicken as it cooks so that it absorbs all the flavours from the marinade and spices.
Pour in a little of the water used to rinse off, from the marinade bowl.
Lower the heat and allow the chicken to simmer.
Halfway through cooking, add in the tomatoes and sugar.
Stir and allow to cook through, adding only a little water at a time as needed.
Once cooked, pour over the cream and garnish with coriander.
Serve hot with rotis, naan, paratha or fluffy basmati rice.