Heat oil in a heavy-based pot. Fry onions until golden brown (7–8 mins).
Add garlic and sauté 1 min. Add ginger and green chili (if using), fry for 2 mins.
Add chicken pieces, cook 4–5 mins until color changes.
Stir in turmeric, chili, coriander, cumin, and salt, fry for 2 mins.
Add tinned tomatoes, cook 8–10 mins until thick and oil begins to separate.
Lower heat. Gradually add whisked yogurt, stirring continuously to prevent curdling.
Add water, cover, and simmer 15–20 mins until chicken is tender.
Stir in garam masala, cook 2 mins.
Garnish with coriander. Serve hot.