Heat the oil in a large, heavy-based pan over medium-high heat. Add onions and garlic, and cook for about 2 minutes. Add the chicken and season with turmeric, chilli powder and salt. Fry gently, scraping the bottom of the pan frequently and turning the chicken.
Pour in the tomatoes with their juice, cover the pan, and simmer over medium heat for 20 minutes. Uncover, and simmer for another 10 minutes to let the excess liquid evaporate.
Add the ghee, cumin, coriander, ginger and coriander leaves, and simmer for another 5 to 7 minutes. Serve the chicken pieces with sauce spooned over the top.