
This Desi chicken curry recipe transforms simple ingredients into a restaurant-worthy dish that balances bold spices with creamy yogurt and tangy tomatoes. The secret lies in slow simmering—allowing flavors to meld into a rich, velvety sauce that clings perfectly to tender chicken pieces.
I developed this version after years of perfecting the balance between traditional techniques and modern convenience, ensuring every bite delivers that signature Desi depth without requiring a tandoor oven.
The recipe begins with a yogurt marinade infused with garam masala and ginger, which tenderizes the chicken while building complex layers of flavor. As the curry simmers, the tomatoes break down into a glossy sauce that thickens just enough to coat each piece of chicken.
This method guarantees a dish that’s both foolproof and deeply satisfying, with a texture that’s impossible to resist—creamy yet not heavy, spicy yet balanced.
What sets this curry apart is its versatility. Serve it with steamed basmati rice for a classic pairing or pair it with warm naan to soak up every last drop of sauce.
The dish also freezes beautifully, making it perfect for meal prep. Whether you’re cooking for a family gathering or a quiet weeknight dinner, this recipe delivers restaurant-quality results with minimal effort.
For those short on time, an air fryer adaptation is included to achieve crispy edges while maintaining the creamy interior. The key is patience—letting the chicken and sauce develop their full potential.
Trust the process, and you’ll have a dish that tastes like it came from a Desi kitchen, no matter where you are.
Ingredients for desi chicken
Simple ingredients, bold flavors—this curry delivers restaurant-quality depth with minimal effort.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Chicken Thighs 🍗 | 1 ½ lb | Cut into 2-inch pieces |
| Plain Yogurt 🥛 | 1 cup | Full-fat preferred for creaminess |
| Garam Masala 🌶️ | 1 ½ tbsp | High-quality blend preferred |
| Fresh Ginger 🧄 | 2 tbsp | Finely grated, fresh preferred |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Tomatoes 🍅 | 1 ½ cups | Diced, canned or fresh |
| Onion 🧅 | 1 whole | Finely chopped, yellow preferred |
| Green Chilies 🌶️ | 2 whole | Slit lengthwise, adjust to spice |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Ground Cumin 🌿 | 1 tsp | Freshly ground preferred |
| Turmeric Powder 🌶️ | ½ tsp | Freshly ground preferred |
| Coriander Powder 🌿 | 1 tsp | Freshly ground preferred |
| Salt 🧂 | 1 tsp | Adjust to taste |
| Vegetable Oil 🫒 | ¼ cup | High smoke point preferred |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The garam masala is the soul of this curry. Penzeys or M.P. Birla brands deliver the most authentic flavor, but any high-quality blend works. Fresh ginger and garlic are non-negotiable—frozen works in a pinch, but fresh has more punch. For the yogurt, full-fat Greek yogurt adds richness without curdling. Chicken thighs stay juicier than breasts during the long simmer. If using canned tomatoes, San Marzano is ideal for sweetness, but any good-quality canned works. The green chilies can be adjusted—remove seeds for less heat.
No garam masala? Mix 1 tsp each cumin, coriander, and turmeric plus 0.5 tsp black pepper. Fresh ginger unavailable? Powdered ginger at half the amount works, though flavor differs. Substituting chicken breasts? Use 1 lb and cook 5 minutes less to avoid dryness. For extra creaminess, stir in 2 tbsp coconut milk at the end. The cilantro garnish is traditional but optional—skip if you dislike its flavor. Trader Joe’s sells pre-minced garlic and ginger if fresh isn’t available, saving prep time.
This curry improves overnight—make a double batch for leftovers. Stores 4-5 days in the fridge or 3 months frozen. Reheat gently with a splash of water to restore creaminess. For meal prep, portion into containers with rice—just microwave when ready. The sauce thickens as it cools, so add water or yogurt if needed when reheating. Garnish with extra cilantro or lemon wedges before serving for freshness.
Why You’ll Love This Recipe
- No-Fuss Marinade: The yogurt and garam masala do all the work—just toss the chicken in, let it sit for 30 minutes, and you’re done. I swear, the ginger and garlic blend right into the meat, so you don’t even need to chop finely.
- Taste That Stays: That crispy, caramelized edge on the outside? Pure satisfaction. The garam masala gives it warmth, the yogurt keeps it juicy, and honestly? It’s the kind of flavor that makes you reach for seconds without thinking.
- Weeknight to Party: Slap this on a sheet pan for a weeknight dinner, or dress it up with naan and raita for guests. I’ve served it at potlucks, and no one ever asks what’s in it—they just keep coming back for more.
- Budget Meal Magic: Chicken thighs are affordable, and a little goes a long way. Leftovers reheat beautifully, and the spices stretch to feed a crowd without breaking the bank. My college budget still thanks me for this one.
Step-by-step instructions for Desi chicken curry
Here’s the method that delivers restaurant-quality spiced yogurt curry every time.
Marinate the Chicken with Yogurt and Spices
Cut the 1.5 lb boneless chicken thighs into 2-inch pieces. In a large bowl, combine the chicken with the 1 cup plain yogurt, 1.5 tbsp garam masala, 1 tsp ground cumin, 0.5 tsp turmeric powder, and 1 tsp salt. Mix thoroughly until every piece is evenly coated. Here’s the thing—let this marinate for at least 1 hour (or up to 4 hours for deeper flavor). The yogurt tenderizes the meat while the spices infuse.
I like to press the marinade into the chicken pieces with my fingers to ensure maximum coverage. This step is critical for both tenderness and flavor development. Cover the bowl and refrigerate while you prepare the remaining ingredients.
Sauté Aromatics Until Fragrant
Heat the 0.25 cup vegetable oil in a heavy-bottomed pot over medium heat. Add the 1 whole finely chopped onion and cook for 3-4 minutes until translucent. This is where the foundation of your curry begins—don’t rush this step or the flavors won’t develop properly.
Add the 2 tbsp finely grated fresh ginger and 6 minced garlic cloves, cooking for another 2 minutes until the raw aroma disappears. Then stir in the 2 slit green chilies and cook for 30 seconds just until they soften slightly. The reason we cook the aromatics first is to build flavor depth that carries through the entire dish.
Cook the Tomato Base
Add the 1.5 cups diced tomatoes to the pot and cook for 5-6 minutes until they soften and begin to break down. This step transforms the raw tomato flavor into a rich, sweet base. Stir occasionally to prevent sticking—tomatoes can burn quickly if left unattended.
Next, add the 1 tsp coriander powder and cook for another 2 minutes, stirring constantly. The spices should bloom and fill your kitchen with an aromatic warmth. This is the moment that matters: the spices should be fully integrated into the tomato mixture, creating a vibrant red base that will carry your curry.
Combine Chicken and Simmer
Drain the marinated chicken, discarding any excess yogurt, and add it to the pot. Gently stir to coat the chicken pieces with the tomato-spice mixture. Here’s the critical part: maintain medium-low heat and let the curry simmer uncovered for 25-30 minutes, stirring occasionally.
You’ll know it’s ready when the chicken is cooked through and the sauce has thickened slightly. The chicken should be tender enough to pierce easily with a fork, but still hold its shape. If the sauce reduces too quickly, add 2-3 tablespoons of water to maintain the proper consistency.
Finish and Garnish
Once the chicken is fully cooked, stir in the 1 tbsp freshly squeezed lemon juice. This brightens the flavors and cuts through the richness of the yogurt and spices. Taste and adjust the seasoning with additional salt if needed—remember, the chicken has already absorbed some of the marinade’s saltiness.
Remove from heat and let the curry rest for 5 minutes. Garnish with the 0.25 cup chopped fresh cilantro just before serving. The curry should have a rich, velvety texture with tender chicken pieces swimming in a vibrant, aromatic sauce. Serve immediately with steamed basmati rice or warm naan bread to complete the meal.
Pro Tips For Making Desi Chicken
- MARINATE LONGER THAN YOU THINK: Two hours minimum—yes, even if you’re impatient like me. The yogurt needs time to tenderize those thighs properly, and the garam masala will develop deeper flavor. I used to rush it and ended up with dry, spicy chicken instead of melt-in-your-mouth goodness.
- GRATE THAT GINGER: Skip the mincer—grate it fresh on a microplane. You’ll get more surface area for flavor, and it blends smoother into the marinade without clumping. (Pro move: Zest the skin off first to avoid bitterness.)
- DON’T OVERCROWD THE PAN: Cook the thighs in a single layer at first—even if it means two batches. Overcrowding steams the chicken instead of searing it, and you’ll end up with soggy, unevenly cooked pieces. Trust me, the extra 5 minutes saves you from regret later.
- FINISH WITH GARLIC BUTTER: Drizzle 1 tablespoon of melted butter mixed with minced garlic over the cooked chicken in the last 30 seconds. It adds richness and a silky finish—no extra effort, just a game-changer. (Use the same pan for the butter; it’s lazy but works perfectly.)
Perfect pairings for this dish
Rice Pairings
Steamed basmati rice is the classic companion to this curry, absorbing the rich tomato-yogurt sauce beautifully. I recommend using 1 cup basmati rice per 2 servings—rinse it thoroughly before cooking to remove excess starch.
For extra flavor, add 1 tsp garam masala to the cooking water or serve with a side of mint chutney for brightness. 💛
For a heartier option, try jeera rice (cumin-infused basmati) or biryani-style rice with saffron and fried onions. These variations elevate the dish to restaurant-level sophistication without extra effort. If you prefer brown rice, cook it separately and mix in 2 tbsp coconut milk to prevent dryness.
Bread Sides
Warm naan or roti is essential for soaking up every drop of sauce. I love using store-bought naan (like Tandoor Chef brand) for convenience, then brushing it with garlic butter before serving. For a homemade touch, make garlic naan by adding 2 minced garlic cloves to the dough. 🥖
Lachha paratha (flaky layered flatbread) adds texture contrast, while puri (deep-fried bread) brings crispy crunch. For gluten-free options, serve with cauliflower rice or quinoa—just toss with 1 tbsp olive oil and ½ tsp cumin seeds before serving.
Vegetable Accompaniments
A simple cucumber raita (yogurt dip with cucumber, mint, and roasted cumin) cuts through the richness. Mix ½ cup yogurt with ½ cup grated cucumber, 1 tbsp chopped mint, and ½ tsp roasted cumin powder. Chill for 30 minutes before serving. 🥒
Boiled potatoes with a sprinkle of chaat masala add a satisfying bite, while sautéed spinach (palak) with garlic and lemon balances the dish. For a fresh twist, serve with mango salsa (diced mango, red onion, cilantro, and lime) during summer months.
Drink Pairings
Cool mango lassi (yogurt drink with mango pulp) is the perfect refreshing match. Blend 1 cup yogurt, ½ cup mango pulp, 1 tbsp sugar, and ice for a creamy, sweet contrast.
For a non-dairy option, try nimbu pani (Indian lemonade) with ½ cup lemon juice, 1 tbsp sugar, and salt to taste. 🍹
Herbal masala chai (spiced tea) with cardamom, cinnamon, and ginger complements the curry’s warmth. For alcohol lovers, a crisp Indian white wine like Chenin Blanc or a light beer such as Kingfisher balances the spices beautifully.
Nutrition facts
Frequently asked questions
Can I use chicken breast instead of thighs in this recipe?
Chicken breast works but requires adjustments. Use 1 lb instead of 1.5 lb and reduce simmering time to 20-25 minutes to prevent dryness. For extra moisture, add 2 tbsp water during cooking. The yogurt marinade helps keep it tender, but breasts cook faster than thighs.
What if I don’t have garam masala?
Mix 1 tsp each of cumin, coriander, and turmeric plus 0.5 tsp black pepper for a close substitute. Toast the spices in a dry pan for 30 seconds to enhance flavor. For deeper warmth, add 0.25 tsp cinnamon. The blend won’t be identical but works in a pinch.
How do I make this curry less spicy?
Reduce or remove the green chilies entirely. For mild heat, use 1 chili instead of 2. If already cooked, stir in 1 tbsp yogurt or 1 tsp sugar to balance spice. The yogurt marinade naturally mellows the final dish, but adjusting chilies is the best control.
Can I make this in an Instant Pot?
Yes! Sauté aromatics as directed, then add chicken, tomatoes, and spices. Cook on High Pressure for 12 minutes, then quick-release. Finish with lemon juice and cilantro. The Instant Pot cuts cooking time to 30 minutes total while keeping flavors intact. Just stir occasionally to prevent sticking.
Why did my curry turn out too thick?
This happens when sauce reduces too much. Add 2-3 tbsp water or yogurt and simmer for 5 minutes to restore creaminess. For prevention, cover the pot loosely during simmering or reduce heat slightly. The sauce should coat the back of a spoon but remain spoonable.
- Crispy Chicken Fingers Recipe: Air-Fryer Magic With Zero Oil Mess - October 30, 2026
- Breaded Chicken Breast Recipe: Crispy Parmesan Crunch Without Deep-Frying - October 30, 2026
- Chicken Puff Recipe: Air-Crispy Bites With Zero Oil Mess - October 30, 2026