Heat the vegetable oil in a large pot over medium heat. Add the chopped onions and sauté till they turn golden brown.
Stir in the minced garlic and ginger paste, cooking for another minute until fragrant.
Pour in the pureed tomatoes and cook until the oil begins to separate from the mixture, stirring occasionally (about 5-7 minutes).
Add the yogurt to the pot and mix well, allowing it to incorporate into the tomato base.
Season the mixture with cumin, coriander, turmeric, garam masala, red chili powder, and salt. Cook for an additional 3-4 minutes, stirring continually.
Once the spices are well integrated, add the chicken pieces, stirring to coat them evenly with the sauce.
Pour in the water, bringing the mixture to a boil, then reduce the heat to low, cover, and simmer for about 25-30 minutes or until the chicken is cooked through and tender.
Taste and adjust seasoning if necessary. Garnish with freshly chopped cilantro before serving.
Notes
Serve with naan or basmati rice for a complete meal.