Marinade chicken with yogurt, garlic, ginger, fresh chili, turmeric powder, chili powder, garam masala, and salt; cover and refrigerate overnight. If running short of time, marinate at room temperature for about an hour.
Heat oil in a heavy base saucepan and drop in cumin seeds. Once cumin seeds start to splutter, add onion, ginger, garlic, fresh chili - sauté on medium heat for about 10-12 minutes until onion starts to brown.
Next add tomatoes, coriander powder, turmeric powder, chili powder and salt - cook for a few minutes until tomatoes turn pulpy.
Add marinated chicken, stir well, and cook for another 10-12 minutes until chicken is no longer pink, and oil starts to separate from the sauce.
Add water or chicken stock; bring to the boil. Cover and cook on low heat for about 20-25 minutes until chicken is tender.
Add garam masala and stir. Finally garnish with coriander leaves and serve with steamed rice, chapatis or crusty bread of your choice.
