Heat up about 2 tblsp oil in a deep frying pot and fry the onion and garlic for 2 minutes over high flame heat.
Mix in the chicken, turmeric, chili powder and salt. Fry gently for 5-10 minutes or until golden
Turn the chicken frequently.
Mix in the tomatoes, cover and stir fry over medium heat up for 20 minutes. Uncover and simmer (boil slowly at low temperature) for 10 minutes to let all the excess liquid evaporate and the sauce thicken.
Mix in the ghee or oil, cumin, ground coriander, ginger and fresh coriander and simmer (boil slowly at low temperature) for 5-7 minutes or until the fat separates out from the thick sauce.