Stir yogurt and cornstarch together until smooth. Set aside.
In a large saucepan with a tight-fitting lid, heat oil over medium-high heat. Add onions and sauté until beginning to color, 6 to 8 minutes. Reduce heat to medium and sauté onions until dark golden brown, 10 to 12 minutes longer.
Stir in ginger, garlic and chilies. sauté for 2 minutes. Increase heat to medium-high. Add chicken and brown well, 6 to 8 minutes.
Reduce heat to medium. Sprinkle coriander, cumin, turmeric and cayenne pepper over top of chicken. Mix well and cook for 2 to 3 minutes.
Add tomatoes, yogurt mixture, 1/2 cup cilantro and salt. Mix well. Cover and bring to a boil.
Reduce heat to low and simmer until chicken is no longer pink inside, about 25 minutes.
Turn off heat. Stir in garam masala and 3 tbs. cilantro (or more cilantro to taste).
Garnish with remaining cilantro before serving. Serve with rice or any bread.









