
This chicken heart curry recipe transforms tough, flavorful cuts into melt-in-your-mouth bites with a rich coconut gravy that balances heat and tenderness. Growing up in small-town Georgia, I learned that offal—when handled right—becomes the most rewarding part of any meal.
The secret lies in blanching the hearts first to break down collagen, ensuring they stay juicy even after slow simmering in aromatic spices.
What sets this recipe apart is the dual-layered approach: a vibrant marinade of yogurt and garam masala tenderizes the meat, while the coconut-tomato base builds depth through slow reduction. I’ve perfected this method over years of testing, balancing heat with sweetness so every bite delivers complexity without overwhelming.
The result? A curry that’s restaurant-worthy but simple enough for weeknights.
By the time you serve it, you’ll have tender, spiced chicken hearts swimming in a velvety gravy that clings to each bite. The aroma alone—warm spices, coconut, and caramelized onions—will have everyone at the table asking for seconds.
Pair it with basmati rice or warm naan to soak up every last drop of that flavorful sauce.
This dish proves that offal doesn’t have to be intimidating—it’s about technique, not fuss. Whether you’re feeding a family or treating yourself to a bold, hearty meal, this curry delivers satisfaction in every spoonful. Let’s get cooking.
Ingredients for chicken heart curry
Spices, yogurt, and coconut create a velvety, aromatic curry that turns humble hearts into star bites.
| Ingredient | Amount | Notes |
|---|---|---|
| Chicken Hearts 🍗 | 1 ½ lb | Trimmed, blanched before cooking |
| Plain Whole Milk Yogurt 🥛 | 1 cup | Full-fat for richness |
| Garam Masala 🌿 | 1 tbsp | Homemade or store-bought |
| Ground Cumin 🌿 | 1 tbsp | Toasted for depth |
| Smoked Paprika 🌶️ | 1 tbsp | For smoky richness |
| Ground Coriander 🌿 | 1 tbsp | Freshly ground preferred |
| Turmeric Powder 🌿 | 1 tsp | Brightens the curry |
| Canned Diced Tomatoes 🍅 | 1 can | 14 oz or 20 oz |
| Coconut Milk 🥥 | 1 can | Full-fat for creaminess |
| Yellow Onions 🧅 | 2 whole | Thinly sliced |
| Garlic Cloves 🧄 | 4 cloves | Minced for aroma |
| Fresh Ginger 🌿 | 1 tbsp | Grate finely |
| Red Chili Powder 🔥 | 1 tsp | Adjust to taste |
| Salt 🧂 | 1 tsp | Diamond Crystal preferred |
| Olive Oil 🫒 | 2 tbsp | High smoke point |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The chicken hearts are the star here—look for plump, firm pieces at butcher shops or specialty grocery stores. I always buy them frozen from Whole Foods or Costco because they’re pre-trimmed and ready to cook. If you’re buying fresh, blanch them immediately in boiling water for 2 minutes to tenderize. The yogurt marinade is key—full-fat plain yogurt gives the best texture; skip the flavored versions. For garam masala, homemade blends taste richer, but Penzeys or Indian grocery stores carry excellent pre-made options. Toast your spices lightly in the oil before adding onions for deeper flavor.
No garam masala? Combine equal parts cumin, coriander, cinnamon, and cardamom for a close approximation. Diced tomatoes can be fresh or canned, but San Marzano tomatoes add sweetness. Short on coconut milk? Half-and-half with a splash of cream stretches it, though it won’t be as creamy. The red chili powder can be substituted with cayenne at half the amount, but bird’s eye chilies add authentic heat. If you’re avoiding dairy, coconut yogurt works in the marinade but won’t bind as well. For onions, yellow or red both work—just adjust cooking time slightly.
This curry tastes even better the next day as flavors meld. Store in an airtight container for up to 5 days in the fridge or freeze for 3 months. To reheat, simmer gently on the stove—microwave can make it grainy. I always portion mine into small containers so I can grab a bowl for lunch. The hearts keep their tenderness best when reheated with a splash of water or broth. For extra richness, top with fried onions or cilantro before serving. Leftovers make amazing curry wraps or rice bowls the next day.
Why You’ll Love This Recipe
- No Chopping Chaos: The only real prep here is blanching the chicken hearts—just 2 minutes in boiling water—and slicing onions. No mincing mountains of garlic or ginger. The rest? Stir, simmer, and let the spices do the work. Trust me, this is the kind of recipe where you can have wine in hand while it cooks.
- Smoky, Spiced Magic: That smoked paprika and toasted cumin? They turn ordinary chicken hearts into something special. The yogurt marinade keeps them tender, while the coconut milk and lemon juice at the end balance the richness—creamy, smoky, and just a little tangy. It’s the kind of dish where every bite feels like a hug.
- Leftovers? Yes, Please: Make it on Sunday, and you’ve got dinner sorted for days. The flavors deepen in the fridge, and reheating? Just add a splash of water. My kids even ask for seconds (yes, even on a Tuesday night), so I know it’s a win.
- Budget-Friendly Powerhouse: Chicken hearts are one of the most affordable cuts out there, and this recipe stretches them into a meal that feels like a treat. Full-fat yogurt and coconut milk add richness without breaking the bank, and the spices? A little goes a long way. Feeds a crowd for less than most takeout.
Step-by-step instructions for chicken heart curry
Here’s how to transform tough chicken hearts into melt-in-your-mouth curry bites with perfect texture every time.
Blanch and Marinate the Chicken Hearts
Start by trimming any excess fat or connective tissue from the 1½ lb chicken hearts using kitchen shears. Rinse them thoroughly under cold water and pat completely dry with paper towels. This step ensures clean hearts that absorb the marinade properly.
Bring a medium pot of water to a rolling boil and add the chicken hearts. Blanch for exactly 2 minutes, then immediately transfer them to a bowl of ice water to stop the cooking process. This brief blanching removes any blood and surface impurities while keeping the hearts tender. Once cooled, drain well and transfer to a bowl.
In a separate small bowl, whisk together the 1 cup plain whole milk yogurt, 1 tbsp garam masala, 1 tbsp ground cumin, 1 tbsp smoked paprika, 1 tbsp ground coriander, 1 tsp turmeric powder, 1 tsp red chili powder, and 1 tsp salt. Pour this marinade over the blanched chicken hearts, coating them evenly. Let them marinate at room temperature for 30 minutes while you prepare the aromatics. The yogurt helps tenderize the meat while the spices penetrate deeply.
Build the Curry Base with Aromatics
Heat 2 tbsp olive oil in a large, heavy-bottomed pot over medium heat. Add the 2 thinly sliced yellow onions and cook for 5-6 minutes until they soften and begin to caramelize at the edges. This slow cooking develops their natural sweetness and forms the flavor foundation.
Add the 4 minced garlic cloves and 1 tbsp freshly grated ginger to the pot. Cook for 1-2 minutes until the raw garlic smell disappears and they become fragrant. Be careful not to let them brown—burnt garlic adds bitterness. Stir frequently to prevent sticking, which can happen quickly with garlic.
Pour in the 1 can canned diced tomatoes (with juices) and bring the mixture to a gentle simmer. Reduce heat to medium-low and let it cook for 8-10 minutes until the tomatoes break down and the mixture thickens slightly. This step develops the tomato base that will carry the curry’s rich flavor.
Cook the Chicken Hearts to Tender Perfection
Add the marinated chicken hearts to the pot in a single layer. Spoon the remaining marinade over them to ensure even coating. Increase heat to medium-high and bring the mixture to a gentle boil. Once boiling, reduce heat to medium-low and let it simmer uncovered for 20-25 minutes, stirring occasionally.
Here’s the key to tenderness: the chicken hearts should cook until they’re fork-tender and no longer pink in the center. You’ll know they’re done when they pull apart easily with a fork and the cooking liquid reduces slightly, creating a thick, flavorful sauce. If the sauce becomes too thick before the hearts are tender, add 2-3 tablespoons of water to maintain proper consistency.
During the last 5 minutes of cooking, stir in the 1 can coconut milk. This adds creaminess and balances the spice levels. The coconut milk should be fully incorporated and heated through before proceeding to the final step.
Finish with Lemon Juice and Rest
Remove the pot from heat and stir in the 1 tbsp freshly squeezed lemon juice. This brightens the curry, cuts through the richness of the coconut milk, and adds a final layer of complexity. Taste and adjust seasoning if needed—you might want to add a pinch more salt or red chili powder to suit your preference.
Let the curry rest for 10 minutes off the heat. This allows the flavors to meld together and the sauce to thicken slightly. The chicken hearts will continue to absorb the cooking liquid, becoming even more tender and flavorful. Serve immediately over steamed basmati rice or with warm naan bread.
Each bite should deliver perfectly tender chicken hearts with a rich, aromatic coconut gravy that’s neither too thick nor too thin. The spices should be balanced—warm from the cumin and coriander, with a subtle smokiness from the paprika and a bright finish from the lemon juice.
Pro Tips For Making Chicken Heart Curry
- Prep Hearts Properly: That 2-minute blanch isn’t just about cleaning—it’s your secret weapon for tender hearts. Skip the ice bath, and you’ll end up with chewy, blood-tinged bites instead of melt-in-your-mouth texture. I learned this the hard way when I rushed and got rubbery results.
- Toast That Cumin: Dry-toast your 1 tbsp ground cumin in a separate pan for 30 seconds before mixing it into the yogurt marinade. The nutty aroma jumps off the plate, and it prevents that raw, bitter edge you sometimes get from store-bought spices. (Yes, even if you’re impatient like me.)
- Don’t Crowd the Pot: When adding the marinated hearts to the pot, spread them out in a single layer first. If you dump them all in at once, they’ll steam instead of sear, and the sauce will turn gluggy before the centers cook through. Trust me, your future self will thank you for the even cooking.
- Simmer Low and Slow: That 20-25 minute simmer at medium-low isn’t a suggestion—it’s non-negotiable for tender hearts. I used to crank the heat higher to save time, but the sauce would break, and the hearts stayed tough. Keep it steady, and the sauce will thicken naturally while the meat falls apart.
Perfect pairings for these flavors
Spiced Rice Pairings
This curry sings when paired with steamed basmati rice infused with cardamom and cinnamon—I use 1 tsp whole spices tied in a cheesecloth bag while boiling. The light, fluffy grains soak up the rich gravy perfectly, balancing the bold flavors.
For extra indulgence, stir in 2 tbsp ghee after cooking for a luxurious finish. 🍚
Naan Bread Essentials
Warm, pillowy garlic naan is a must—nothing beats the contrast of soft, buttery bread soaking up every last drop of curry. I always keep a batch ready in the oven at 350°F while the curry simmers.
For homemade, roll out 2 cups all-purpose flour with ½ cup yogurt and 1 tsp baking powder for that perfect chewy texture. 🍕
Fresh Herb Garnishes
Top with fresh cilantro and thinly sliced green onions for a bright, herbal finish. I also add 1 tbsp chopped mint for a South Asian touch. A drizzle of lemon wedges on the side lets guests adjust acidity to taste—this is my signature move when serving at home. 🌿
Creamy Yogurt Dip
Serve with a side of raita—whisk together 1 cup plain yogurt, 1 minced cucumber, 1 tbsp mint, and ½ tsp roasted cumin.
The cool, tangy dip cuts through the richness of the coconut gravy and balances the spices beautifully. I always make extra for leftovers. 🥄
Spicy Pickle Accent
For heat lovers, add 1 tbsp mango pickle (like Cholay) or green chili slices to each bowl. The sweet-spicy contrast enhances the curry’s depth. I keep a jar of Penzeys brand mango pickle on hand—it’s my go-to for adding that extra kick. 🌶️
Nutrition facts
Frequently asked questions
Why do chicken hearts need to be blanched before cooking?
Blanching removes surface impurities and blood, ensuring cleaner flavor. It also tenderizes the tough fibers by breaking down collagen, so the hearts stay juicy during simmering. This step is essential for melt-in-your-mouth texture—skip it, and you’ll end up with chewy results.
Can I substitute fresh tomatoes for canned in this recipe?
Yes! Use 2 cups fresh diced tomatoes (peeled if possible) and cook them down for 10-12 minutes to mimic the canned texture. Fresh tomatoes add brightness but may require more salt to balance their acidity. The key is reducing them until thickened, just like the canned version.
How do I adjust the spice level if I’m sensitive to heat?
Reduce the 1 tsp red chili powder to ½ tsp or omit it entirely. For extra warmth without heat, add ½ tsp ground cinnamon or ¼ tsp cayenne instead. Taste before serving and adjust with salt or a squeeze of lemon to maintain balance.
What’s the best way to reheat leftovers without drying out the sauce?
Gently warm on the stovetop over low heat, stirring occasionally, and add 2-3 tablespoons water if needed. Never microwave—it makes the sauce grainy. For extra richness, stir in 1 tablespoon coconut milk while reheating. The hearts will absorb moisture beautifully.
- Chicken and Rice Recipe: One-Pot Comfort with Juicy Chicken and Fluffy Grains - November 5, 2026
- Boneless Chicken Thighs and Potatoes Recipe: Crispy-Skinned Comfort in One Pan - November 5, 2026
- Crockpot Chicken Spaghetti Recipe: One-Pot Creamy Tomato Magic - November 5, 2026