Authentic Punjabi Chicken Curry Recipe: Fragrant Garam Masala and Creamy Tomato Harmony

Main Courses

Authentic Punjabi Chicken Curry Recipe: Fragrant Garam Masala and Creamy Tomato Harmony

This authentic Punjabi chicken curry brings the bold, aromatic flavors of North India straight to your kitchen—where garam masala and creamy tomato sauce create a symphony of spices. 🌟 The secret lies in slow-cooking the chicken until it's tender, layered with traditional spices like turmeric, cumin, and coriander, then finished with a velvety tomato base that balances heat and richness.

I've perfected this recipe over years of testing, ensuring every bite delivers the depth of a dhaba-style dish.

The magic happens in the marinade, where yogurt tenderizes the chicken while garam masala infuses it with warm, earthy notes. As the curry simmers, the spices meld into a fragrant broth that coats the chicken perfectly.

What sets this apart is the creamy tomato harmony—a blend of fresh tomatoes, onions, and cashew paste that thickens into a luscious sauce without overpowering the spices. The result? A curry that's rich, aromatic, and deeply satisfying, just like the one you'd find in a Punjabi home.

By the time you serve this dish, your kitchen will smell like a bustling Indian street, and your taste buds will be transported to the heart of Punjab. The tender chicken falls apart with each bite, swimming in a sauce that's perfectly balanced—slightly sweet, tangy, and spiced just right.

This isn't just a curry; it's a celebration of flavor, tradition, and the art of slow-cooked perfection.

Pair it with steamed basmati rice, warm roti, or a cooling cucumber raita to complete the meal. The leftovers? Even better the next day as the flavors deepen. Let's dive into the recipe—your taste buds will thank you.

👨‍🍳
Difficulty
Medium
🍗
Diet
Poultry
🔥
Calories
Med Cal

Ingredients for authentic punjabi chicken curry

Pantry staples meet Indian market finds for this fragrant, slow-cooked masterpiece.

Ingredient Amount Notes
Boneless Chicken Thighs 🍗 1 ½ lb Skin-on preferred for flavor
Plain Yogurt 🥛 1 cup Full-fat for best texture
Garam Masala 🌶️ 1 ½ tbsp Authentic blend preferred
Ground Cumin 🌿 1 tsp Freshly toasted for depth
Ground Coriander 🌿 1 tsp For earthy aroma
Turmeric Powder 🧂 ½ tsp Bright yellow color
Red Chili Powder 🌶️ 1 tsp Adjust for heat preference
Fresh Tomatoes 🍅 2 medium Ripe but firm preferred
Yellow Onions 🧅 1 whole Finely chopped for sweetness
Garlic Cloves 🧄 4 cloves Minced for aromatic base
Cashew Paste 🥜 ½ cup Homemade or store-bought
Fresh Ginger 🌿 1 tbsp Grated for zesty kick
Vegetable Oil 🫒 ½ cup High smoke point preferred
Salt 🧂 1 ½ tsp Kosher or sea salt
Fresh Cilantro 🌿 ¼ cup Chopped for garnish

The garam masala is non-negotiable here—Penzeys or local Indian markets have the best blends. If you can't find it, spice blends from Trader Joe's work in a pinch, but you'll miss that authentic depth. For the chicken, skin-on thighs stay juicier than breasts. Look for bright red, marbled meat at the grocery store—avoid those pale, rubbery thighs. The yogurt should be plain, full-fat, and preferably Greek-style for extra creaminess. If you're making this ahead, marinate the chicken overnight for maximum flavor infusion.

No fresh ginger? Powdered works at half the amount, but fresh is ideal. Running short on cashew paste? Blend soaked cashews with water—it's a game-changer for that creamy texture. The tomatoes can be canned in a bind (San Marzano work best), but fresh gives you that burst of sweetness. For heat control, reduce the red chili powder to 0.5 tsp if you're sensitive. The onions? Yellow or red both work, but yellows add a touch of sweetness that balances the spices perfectly. If you're feeling fancy, add a pinch of cardamom pods to the marinade for an extra layer of complexity.

This curry tastes even better the next day—3-4 days in the fridge, 3 months frozen. I always double the batch because it disappears fast. Store in airtight containers with a layer of oil on top to preserve freshness. The sauce thickens as it cools, so add a splash of water when reheating. Garnish with fresh cilantro right before serving—it brightens up all those warm spices. Leftovers reheat beautifully in a pot with a splash of water or even straight from the fridge if you're patient.

❤️

Why You'll Love This Recipe

  • No-Fuss Marination: The yogurt does all the work—just coat the chicken, let it sit for 20 minutes, and you’re done. No fancy prep, no stress, and the thighs stay juicy while the spices sink in.
  • Warm Spice Hug: That garam masala and cumin blend? It’s like a cozy blanket for your taste buds—earthy, slightly sweet, with a kick that lingers. The coriander rounds it out so it’s never overpowering, just perfect.
  • Leftovers That Win: Honestly, this tastes even better the next day. The flavors meld into something richer, and it reheats like a dream. Pack it for lunch or freeze half—your future self will thank you.
  • Budget-Friendly Crowd-Pleaser: Chicken thighs are cheap, yogurt stretches the sauce, and a pinch of garam masala goes a long way. Feed four for the price of two fancy dinners, and everyone will ask for seconds. (Yes, even on a Tuesday night.)

Step-by-step instructions for authentic Punjabi chicken curry

Here's how to create that perfect balance of smoky garam masala and velvety tomato sauce.

1

🍳 Step 1: Marinate the Chicken for Maximum Flavor

In a large bowl, combine the 1.5 lb boneless chicken thighs, 1 cup plain yogurt, 1.5 tbsp garam masala, 1 tsp ground cumin, 1 tsp ground coriander, 0.5 tsp turmeric powder, 1 tsp red chili powder, and 1.5 tsp salt. Mix gently until the chicken is fully coated in the marinade. I like to use my hands for this—it helps distribute the spices evenly.

Cover the bowl and refrigerate for at least 4 hours, or overnight if possible. This long marinating time is what makes the curry so tender and flavorful. The yogurt will start to break down the chicken fibers, creating that melt-in-your-mouth texture we all love.

2

🔥 Step 2: Sear the Chicken for Deep, Caramelized Flavor

Heat 0.5 cup vegetable oil in a large, heavy-bottomed pot over medium-high heat. Once the oil is shimmering (around 350°F), carefully remove the chicken from the marinade (reserve the marinade) and add it to the pot in a single layer. Don't overcrowd the pan—this ensures each piece gets that beautiful golden-brown sear.

Sear the chicken for 4-5 minutes per side until deeply golden and crispy. You'll know it's ready when it releases easily from the pan. Remove the chicken and set it aside on a plate. Here's the thing—don't skip this step. That caramelized crust is what gives authentic Punjabi curry its rich, complex flavor.

3

🍳 Step 3: Build the Aromatic Base

In the same pot, reduce the heat to medium and add the 1 whole yellow onion, chopped into small pieces. Sauté for 5-6 minutes until the onions turn golden brown and sweet. Add the 4 cloves garlic cloves and 1 tbsp fresh ginger (grated), cooking for another 1-2 minutes until fragrant.

Now add the reserved marinade to the pot, stirring well to scrape up all those delicious browned bits from the bottom. This is where all the flavor lives. Increase the heat to medium-high and let the mixture simmer for 5 minutes, stirring occasionally, until it reduces slightly and thickens.

4

🥘 Step 4: Create the Creamy Tomato Sauce

Add the 2 medium fresh tomatoes, chopped into small pieces, to the pot. Cook for 8-10 minutes until the tomatoes break down and the sauce becomes thick and vibrant. You want the tomatoes to lose their raw taste completely—this is the foundation of your creamy sauce.

Stir in the 0.5 cup cashew paste and cook for another 3-4 minutes. The cashews will help create that signature Punjabi creaminess without using heavy cream. Taste the sauce and adjust the seasoning if needed—you might want to add a pinch more salt or chili powder to suit your taste.

5

🔪 Step 5: Finish and Garnish for Authentic Flavor

Return the seared chicken to the pot and spoon the sauce over it, making sure each piece is well-coated. Cover the pot and simmer on low heat for 25-30 minutes, stirring occasionally, until the chicken is cooked through and tender. The sauce should be thick and cling to the chicken beautifully.

Remove from heat and let the curry rest for 5 minutes. This resting period allows the flavors to meld together perfectly. Garnish with 0.25 cup fresh cilantro, chopped finely, just before serving. The bright, fresh cilantro cuts through the richness of the curry and adds that final authentic touch.

👨‍🍳

Pro Tips For Making Authentic Punjabi Chicken Curry

  • Marinate for 2 Hours: Punjabi curry relies on yogurt’s tenderizing magic—don’t rush it. I used to cut corners with 30 minutes, but the chicken stays tough. Let those thighs soak in the yogurt mix (with garam masala and salt) for a full 2 hours in the fridge. The longer they sit, the more the spices penetrate, and the juicier they stay when cooking.
  • Bloom Spices in Oil: Skip tossing ground cumin and coriander straight into the pan—they’ll just burn. Heat 2 tablespoons of oil until shimmering (not smoking), then add the whole spices (if using) or the ground powders one at a time, letting them sizzle for 30 seconds each. This unlocks their aroma, which is half the flavor in this curry.
  • Simmer, Don’t Boil: After adding the yogurt-chicken mix to the pan, reduce heat to low and let it bubble gently. I learned this the hard way—aggressive boiling turns the yogurt into a gluey mess. A steady simmer (2-3 minutes) keeps the sauce creamy and the chicken intact. Cover the pan if it’s drying out too fast.
  • Finish with Fresh Garam Masala: Store-bought garam masala loses punch over time. Save a pinch (½ teaspoon) to sprinkle at the very end, right after the curry comes off heat. This restores brightness and cuts through the richness of the yogurt and oil. It’s the difference between a good curry and one that feels special.

Perfect pairings for this authentic punjabi chicken curry

Rice Pairings

Steamed basmati rice is the classic companion to Punjabi chicken curry, its delicate aroma complementing the rich spices. Use a 1:1.5 rice-to-water ratio and cook in a heavy pot with a tight lid for 15 minutes after the water boils.

For extra fluffiness, spread the cooked rice on a tray and let it cool slightly before serving. 🌟

For a heartier option, try jeera rice—infuse the rice with 1 tsp cumin seeds and a pinch of turmeric while cooking. The nutty cumin enhances the curry’s warmth, creating a perfect balance.

I often make a big batch of jeera rice to serve alongside this curry, as it pairs beautifully with the smoky garam masala flavors.

Bread Sides

Warm naan or roti is essential for soaking up the creamy sauce. Brush naan with melted ghee and toast in a skillet for 30 seconds per side until puffed and golden.

For a quicker option, serve store-bought garlic naan from brands like Tandoor Chef or Tasty Bite. The buttery, pillowy texture contrasts perfectly with the spiced curry.

For a gluten-free twist, bajra roti (made from pearl millet flour) adds a nutty, earthy note that stands up to the bold flavors. Mix 1 cup bajra flour with water, roll into thin circles, and cook on a dry skillet until crispy.

It’s a staple in many Punjabi homes and adds a delightful texture contrast. 💛

Cooling Raita

A cucumber-mint raita is the ultimate palate cleanser. Blend 1 cup Greek yogurt, ½ cup grated cucumber, 2 tbsp fresh mint, ½ tsp roasted cumin powder, and a pinch of salt.

Chill for 30 minutes before serving to let the flavors meld. The cool, creamy raita balances the heat and richness of the curry beautifully.

For a tangier option, try boondi raita—fry 2 tbsp chickpea flour into tiny balls (boondi), then mix with yogurt and a pinch of asafetida (hing). The crispy boondi adds a fun texture that elevates the dish.

I love serving this raita on the side for guests who enjoy a bit of crunch with their curry. ✨

Beverage Pairings

A masala chai made with black tea leaves, cardamom, ginger, and cinnamon is the perfect drink to serve alongside this curry. Brew 1 tbsp loose-leaf tea with 2 cups water and 1 cup milk, then simmer with the spices for 5 minutes.

The warm, spiced tea cuts through the richness of the curry and warms you up from the inside out.

For a non-alcoholic option, mango lassi adds a sweet, creamy contrast. Blend 1 cup yogurt, ½ cup mango pulp, ½ cup milk, and 1 tsp cardamom powder until smooth.

Serve chilled for a refreshing balance to the spicy curry. If you prefer something lighter, sparkling lime soda with a squeeze of lemon works wonderfully too. 🍹

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 12g60%
Cholesterol 165mg55%
Sodium 920mg39%
Total Carbohydrate 28g10%
Dietary Fiber 6g21%
Sugars 12g
Protein 42g84%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

What makes this Punjabi chicken curry different from other curries?

This recipe captures the authentic Punjabi style with its creamy tomato-cashew base and garam masala-forward marinade. Unlike drier curries, it balances rich, velvety sauce with smoky spices through slow cooking. The key is the 4+ hour marinade and cashew paste that creates that signature Punjabi creaminess without heavy cream.

2

Can I use chicken breast instead of thighs?

You can, but thighs stay juicier and more tender—ideal for slow cooking. If using breasts, reduce marinating time to 2-3 hours max and cook for only 15-20 minutes after adding to the sauce. For best results, pound them to even thickness and avoid overcooking. The skin-on thighs in this recipe are traditional for maximum flavor.

3

How do I adjust the spice level?

Start with the 1 tsp red chili powder in the marinade, then taste the sauce before serving. For milder heat, reduce to 0.5 tsp chili powder and add ½ tsp sugar to balance. For extra heat, add ½ tsp cayenne or a pinch of Kashmiri red chili powder (which adds color too). Always adjust gradually!

4

Can I make this curry in an Instant Pot?

Yes! Sear the chicken first, then add all marinade ingredients and cook on high pressure for 12 minutes, followed by a 5-minute natural release. For creaminess, blend ½ cup sauce and stir it back in. The Instant Pot version cooks faster but may need 1 extra tbsp cashew paste to achieve the same thickness. Taste and adjust salt/spices after cooking.

5

Why does my curry taste bland after reheating?

Reheating can mute flavors because the sauce thickens. Revive it by adding 2-3 tbsp water or chicken broth and simmering for 5 minutes. For extra depth, stir in ½ tsp garam masala or a pinch of asafetida (hing)—it adds umami that disappears during storage. Always store with a thin layer of oil on top to preserve freshness.

★★★★★4.6(11 reviews)
Categories Main Courses