Heat oil in a sturdy pot over medium heat. Add onions and sauté until they’re soft and golden—no sullen onions allowed.
Stir in garlic and ginger. Cook for 1 minute until fragrant, then invite the spices to the party: cumin, coriander, turmeric, and garam masala. Toast a minute to wake up their flavors.
Add tomatoes and tomato paste. Cook until the mixture thickens a bit and the tomatoes break down. This is your flavor base, don’t skip it.
Drop in the chicken pieces. Sear for 4–5 minutes, turning once, until they’re lightly browned on the outside.
Pour in the broth and yogurt, whisking to avoid yogurt clumps. Add green chilies and salt. Bring to a gentle simmer.
Simmer for 15–20 minutes, or until the chicken is cooked through and the sauce has thickened to a stew-like consistency. Stir occasionally to keep things from sticking.
Taste and adjust salt, heat, or tang with a touch more yogurt or chili powder if you crave more drama. Finish with chopped cilantro.