Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb bone-in chicken pieces, skinless (thighs/drumsticks)
- 3 tbsp neutral oil (plus 1 tbsp ghee, optional)
- Whole spices: 2 bay leaves, 5 cloves, 4 green cardamom pods, 1-inch cinnamon stick, 1 tsp cumin seeds
- 3 medium onions (about 500 g), thinly sliced
- 2 medium tomatoes (about 300 g), finely chopped
- 2 tbsp ginger–garlic paste
- Ground spices: 1/2 tsp turmeric, 2 tsp Kashmiri chili powder, 1/2–1 tsp hot red chili powder, 2 tsp ground coriander, 1 tsp ground cumin, 1–1 1/4 tsp kosher salt
- 1 3/4 cups hot water
- Finish: 1 tsp garam masala, 1/3 cup chopped cilantro
Do This
- 1. Heat oil (and ghee) in a heavy pot over medium heat; bloom whole spices 30 seconds.
- 2. Add onions and 1/4 tsp salt; cook 18–22 minutes, stirring, until deep golden-brown.
- 3. Stir in ginger–garlic 60 seconds. Add tomatoes; cook 7–9 minutes until jammy. Add ground spices; fry 2 minutes until oil separates.
- 4. Add chicken and 3/4 tsp salt; sear 5–6 minutes until lightly browned.
- 5. Pour in 1 3/4 cups hot water. Boil, then simmer on medium-low, partially covered, 25–30 minutes until chicken is tender (175 F) and gravy is rich.
- 6. Stir in garam masala and half the cilantro; rest 5 minutes. Garnish with remaining cilantro; serve with steamed basmati rice or warm roti.
Why You’ll Love This Recipe
- Layers of comfort: caramelized onions, jammy tomatoes, and aromatic whole spices create a deep, restaurant-quality flavor at home.
- Gravy-rich and cozy: perfect over fluffy basmati rice or for scooping up with roti.
- Balanced heat: Kashmiri chili for color and gentle warmth, with optional extra chili for spice-lovers.
- Approachable technique: clear steps and timing take the guesswork out of browning and simmering.
Grocery List
- Produce: 3 onions, 2 tomatoes, fresh cilantro, fresh ginger, garlic, optional lemon
- Dairy: Ghee (optional)
- Pantry: Bone-in chicken (thighs/drumsticks), neutral oil, bay leaves, cloves, green cardamom, cinnamon stick, cumin seeds, ground coriander, ground cumin, turmeric, Kashmiri chili powder, hot red chili powder, garam masala, kosher salt, basmati rice or roti
Full Ingredients
Chicken and Base
- 2 lb bone-in, skinless chicken pieces (thighs/drumsticks)
- 1–1 1/4 tsp kosher salt, divided (plus more to taste)
- 3 tbsp neutral oil (canola, sunflower, or avocado)
- 1 tbsp ghee (optional, for richness)
- 3 medium yellow onions (about 500 g), thinly sliced
- 2 medium ripe tomatoes (about 300 g), finely chopped
- 2 tbsp ginger–garlic paste (or 1 tbsp each grated ginger and grated garlic)
Whole Spices (Tempering)
- 2 bay leaves
- 5 whole cloves
- 4 green cardamom pods, lightly cracked
- 1-inch cinnamon stick
- 1 tsp cumin seeds
Ground Spices
- 1/2 tsp ground turmeric
- 2 tsp Kashmiri red chili powder (for color and mild heat)
- 1/2–1 tsp hot red chili powder (cayenne), to taste
- 2 tsp ground coriander
- 1 tsp ground cumin
- 1 tsp garam masala (add at the end)
- 1/4 tsp freshly ground black pepper (optional)
Liquids
- 1 3/4 cups hot water (plus up to 1/4 cup more if needed for a looser gravy)
Finish
- 1/3 cup chopped fresh cilantro (leaves and tender stems)
- 1 tsp fresh lemon juice (optional, to brighten)

Step-by-Step Instructions
Step 1: Set up and prep the aromatics
Thinly slice the onions and chop the tomatoes. Measure all spices and keep them nearby. Pat the chicken dry with paper towels so it sears well later. Heat 1 3/4 cups water until hot (this helps keep the gravy emulsified when added).
Step 2: Bloom the whole spices
Place a heavy 4–5 quart pot or Dutch oven over medium heat. Add the oil and optional ghee. When the fat is shimmering, add bay leaves, cloves, cardamom, cinnamon, and cumin seeds. Stir and let them bloom for 30–45 seconds until fragrant and a shade deeper, taking care not to scorch.
Step 3: Caramelize the onions
Add the sliced onions and 1/4 tsp salt. Cook over medium to medium-low heat for 18–22 minutes, stirring every few minutes, until the onions turn deep golden-brown and sticky. If brown bits build up, splash in 1–2 tbsp water and scrape to deglaze. Proper caramelization is key to a rich, sweet-savory gravy.
Step 4: Build the tomato–spice masala
Add the ginger–garlic paste and cook for 60–90 seconds until the raw aroma mellows. Stir in tomatoes and cook 7–9 minutes, mashing occasionally, until thick and jammy. Add turmeric, Kashmiri chili powder, hot red chili powder, coriander, and cumin. Fry the masala 2–3 minutes, stirring, until the oil separates along the edges. If it sticks, add a tablespoon of water and continue stirring.
Step 5: Sear the chicken in the masala
Add the chicken pieces and 3/4 tsp salt. Toss to coat thoroughly in the masala, then cook for 5–6 minutes over medium heat until the chicken is opaque and lightly browned on some edges. This step layers flavor directly onto the meat.
Step 6: Simmer to tender, gravy-rich perfection
Pour in 1 3/4 cups hot water and bring to a boil. Reduce to medium-low for a gentle simmer (small, steady bubbles), partially cover, and cook for 25–30 minutes, stirring once or twice. The chicken is done when very tender and the thickest part near the bone reaches 175 F. If the gravy gets too thick, add up to 1/4 cup hot water; if too thin, simmer uncovered for 3–5 minutes to reduce.
Step 7: Finish and rest
Stir in garam masala and half the cilantro. Taste and adjust salt and heat. For brightness, add a teaspoon of lemon juice (optional). Turn off the heat and let the curry rest 5 minutes so the flavors settle. Garnish with remaining cilantro and serve hot with steamed basmati rice or warm roti.
Pro Tips
- Do not rush the onions: the 18–22 minute caramelization window builds the curry’s sweetness and body.
- Look for “oil separation” after frying the masala—tiny pools of tinted oil at the edges signal that the base is cooked and flavorful.
- Use Kashmiri chili for vibrant color and mild heat; dial spice up or down with the hot red chili powder.
- Add hot water, not cold, to keep the masala from seizing and to maintain a smooth, glossy gravy.
- Bone-in dark meat (thighs, drumsticks) stays juicy; aim for 175 F for tender, pull-from-the-bone results.
Variations
- Coconut finish: Temper 1/2 tsp mustard seeds with the whole spices and add 8–10 curry leaves. Finish the curry with 1/2 cup coconut milk during the last 2 minutes for a silky, gently sweet gravy.
- Hearty potato and peas: Add 2 medium waxy potatoes (1/2-inch cubes) in Step 5 with the chicken. Simmer as directed; stir in 1/2 cup peas for the final 5 minutes.
- Instant Pot: Use Sauté to caramelize onions and cook the masala. Add chicken and 1 1/4 cups hot water. Pressure cook on High for 8 minutes; natural release 10 minutes. Switch to Sauté to reduce if needed; finish with garam masala and cilantro.
Storage & Make-Ahead
Refrigerate cooled curry in an airtight container for up to 4 days; it tastes even better on day two. Freeze up to 3 months (omit cilantro and add fresh after reheating). Reheat gently on the stovetop over low heat with a splash of water, 6–8 minutes, until bubbling. Make-ahead tip: cook the onion–tomato masala base in advance and refrigerate up to 4 days or freeze up to 3 months; add chicken and simmer when ready to serve.
Nutrition (per serving)
Approximate, without rice or roti: 420 calories; 26 g protein; 28 g fat; 12 g carbohydrates; 3 g fiber; 760 mg sodium. Values will vary based on exact ingredients and salt used.


Leave a Reply