Soups & Stews
This beef and chickpea curry delivers restaurant-quality depth with a rich spiced tomato base that tenderizes beef while keeping chickpeas gloriously crunchy. The secret lies in blooming whole spices in hot oil—creating aromatic layers that transform simple ingredients into something unforgettable.
I developed this recipe after years of testing, ensuring every bite balances heat, acidity, and creamy coconut milk for perfect harmony.
The beef starts with a proper sear in a hot pan before simmering gently in the fragrant sauce, while chickpeas crisp up just enough to add satisfying texture contrast. This method guarantees tender beef that falls apart easily and chickpeas that hold their shape without turning mushy.
The sauce reduces to a perfect consistency—thick enough to coat the back of a spoon but still silky smooth.
What you'll end up with is a curry that's rich in flavor but never overpowering, with each ingredient playing its part—spices singing, tomatoes providing acidity, coconut milk adding creaminess, and chickpeas delivering that essential crunch.
The aroma alone will have everyone gathering around the table, and the first bite delivers on that promise of restaurant-quality comfort.
Serve with basmati rice for a classic pairing or over quinoa for a modern twist. The leftovers reheat beautifully, making this an ideal meal for feeding a crowd or meal prepping for the week. Let's get cooking!
Ingredients for beef and chickpea curry
The foundation of this curry lies in aromatic spices and tender beef, balanced with creamy coconut milk and crunchy chickpeas.
| Ingredient | Amount | Notes |
|---|---|---|
| Chuck Roast Beef 🥩 | 1 ½ lb | Pre-cut into 1-inch cubes |
| Chickpeas 🌾 | 1 ½ cups | Canned, drained and rinsed |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Canned Tomato Sauce 🍅 | 1 can | 28 oz can, San Marzano preferred |
| Yellow Onion 🧅 | 1 whole | Medium, finely diced |
| Garlic Cloves 🧄 | 6 cloves | Fresh, minced |
| Fresh Ginger 🌿 | 1 inch | Peeled, finely grated |
| Ground Cumin 🌿 | 1 tbsp | Toasted for depth |
| Ground Coriander 🌶️ | 1 tbsp | Freshly ground preferred |
| Turmeric Powder 🌶️ | 1 tsp | Bright yellow color |
| Garam Masala 🌶️ | 1 tsp | Store-bought blend |
| Cayenne Pepper 🔥 | ½ tsp | Adjust for heat |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin for richness |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly cracked |
The chuck roast is non-negotiable for this dish—its marbling ensures tender, melt-in-your-mouth beef. Look for well-marbled cuts at specialty butchers or high-end grocery stores like Whole Foods or Eataly. If you can't find chuck, sirloin tips work as a second choice, though they'll be slightly less tender. The San Marzano tomato sauce is worth the splurge—its sweetness and acidity balance the rich coconut milk perfectly. For the chickpeas, Barely Any GMO Project Verified or Chickpeas from Trader Joe's are my go-to brands; they hold their shape beautifully when cooked. Fresh ginger and garlic should be vibrant—avoid any with soft spots or bruising, as these indicate age.
No garam masala? Mix equal parts ground cumin, coriander, and cinnamon for a close approximation. The coconut milk can be swapped for light coconut milk if you prefer a lighter texture, though the richness is essential. For heat, adjust the cayenne—½ teaspoon for mild, 1 teaspoon for medium heat. If you're using dried chickpeas, soak them overnight and cook until tender but still firm. The olive oil should be extra-virgin—its fruity notes elevate the dish. For the tomato sauce, if you can't find San Marzano, Mutti or Cento brand are solid alternatives. Always taste as you go—this curry thrives on balance.
Store the curry in an airtight glass container in the fridge for up to 5 days, though it tastes even better the next day as flavors meld. Freeze portions in single-serving containers for up to 3 months—just thaw overnight in the fridge. The spices lose potency over time, so store them in a cool, dark place and replace any that smell stale. For extra flavor, toast the whole spices (cumin, coriander) in a dry pan for 1-2 minutes before grinding. The chickpeas can be crisped up further by tossing them in a hot pan with a drizzle of oil for 2-3 minutes post-cooking—worth the extra minute for that satisfying crunch.
Why You'll Love This Recipe
- One-Pot Wonder: I swear by this—just one pot, no fussing with multiple pans. Chuck roast and chickpeas simmer together while the coconut milk and tomato sauce do all the heavy lifting. Honestly, the only chopping is the onion, and even that’s forgivable.
- Deep, Rich Layers: That slow-cooked beef falling apart in the sauce? Absolute perfection. The chickpeas soak up the flavors without overpowering, and the coconut milk gives it this velvety, slightly sweet contrast. Between us, it’s the kind of dish that makes you linger at the table.
- Meal Prep MVP: I make double batches because it reheats like a dream. The flavors only get better the next day—great for lunches or when you’re too tired to cook. Plus, it’s one of those rare curries that doesn’t dry out, so leftovers are just as good as the first serving.
- Budget-Friendly Powerhouse: Chuck roast is affordable, and chickpeas stretch the meal further. Canned tomato sauce and coconut milk keep costs low without sacrificing taste. I’ll be real: this is the kind of recipe that makes grocery shopping feel like a win.
Step-by-step instructions for beef and chickpea curry
Aromatic spices, tender beef, and crunchy chickpeas create a rich tomato-coconut base that balances heat and depth.
Sear the Beef for Maximum Flavor
Heat the 2 tablespoons olive oil in a large Dutch oven over medium-high heat until shimmering. Working in batches if needed, add the 1.5 lb chuck roast beef (pre-cut into 1-inch cubes) and sear undisturbed for 2-3 minutes per side until deeply browned. This step develops a rich crust that carries the curry's complexity.
Once all beef is browned, transfer it to a plate and set aside. Don't drain the oil—those caramelized bits will form the foundation of your sauce. If the pan appears crowded, reduce heat slightly to prevent steaming rather than searing.
Build the Spice Base
In the same Dutch oven, add the 1 whole yellow onion (finely diced) and cook for 5-6 minutes until softened and golden. Add the 6 cloves garlic cloves (minced) and 1 inch fresh ginger (finely grated), cooking for 1 minute until fragrant—this is where the curry's aromatic soul develops.
Stir in the 1 tablespoon ground cumin, 1 tablespoon ground coriander, 1 teaspoon turmeric powder, and 0.5 teaspoon cayenne pepper. Toast the spices for 30 seconds until their essential oils are released and the mixture smells deeply aromatic. This step transforms raw spices into flavor powerhouses.
Simmer the Tomato-Coconut Base
Pour in the 1 can canned tomato sauce and 1 can coconut milk, scraping up any browned bits from the bottom. Add 1.5 teaspoons salt and 0.5 teaspoon black pepper, then return the beef to the pot. Bring to a gentle simmer over medium heat, then reduce to low and cover partially.
Simmer for 1.5 hours, stirring occasionally, until the beef is fork-tender and the sauce has thickened slightly. The curry should smell like a spice market—earthy, citrusy, and just slightly sweet. If the sauce reduces too quickly, add 2-3 tablespoons water to maintain balance.
Incorporate Chickpeas and Final Seasoning
Gently stir in the 1.5 cups chickpeas (drained and rinsed) and 1 teaspoon garam masala. Simmer uncovered for an additional 10-15 minutes until the chickpeas are heated through and the flavors meld completely. The garam masala adds that final layer of complexity that makes this curry sing.
Taste and adjust seasoning—you may need an extra pinch of salt or cayenne to achieve perfect balance. The curry should be vibrant, with the acidity of the tomatoes cutting through the richness of the coconut and beef fat. Let it sit off heat for 5 minutes before serving to allow flavors to fully integrate.
Pro Tips For Making Beef And Chickpea Curry
- Brown the Beef First: Chuck roast needs a deep, caramelized crust to hold up in curry—don’t skip this. Sear it in batches over medium-high heat until dark brown, about 4-5 minutes per side, or it’ll turn mushy instead of tender. I learned this the hard way when my first attempt turned into a pale, flavorless stew.
- Drain and Rinse Chickpeas: Canned chickpeas are packed in saltwater, which throws off your curry’s balance. Drain them, then rinse under cold water and drain again—this makes a real difference in texture and seasoning. (Yes, even if you’re impatient like me, trust the process.)
- Simmer, Don’t Boil: Low and slow is the name of the game here. After adding coconut milk and tomato sauce, keep the heat at a gentle simmer—any higher and the milk will curdle, or the onions will burn before the beef tenderizes. Sounds weird, but it works: 2-2.5 hours on low heat guarantees melt-in-your-mouth beef.
- Stir in Coconut Milk Last: Add the coconut milk after the onions are soft and the spices have bloomed, or you’ll dilute the flavor before it develops. I skip this when I’m lazy, but the dish is noticeably better when I don’t—richer, creamier, and less watery.
Dietary considerations for this recipe
Vegetarian Adaptations
Swap the beef for extra-firm tofu or mushrooms like portobello or cremini. Press the tofu to remove excess water, then cube and pan-fry until golden before adding to the curry.
For mushrooms, slice them thickly and sauté until deeply browned—this mimics the beef's texture. Both options absorb the spices beautifully while keeping the dish hearty. 🌱
Gluten-Free Considerations
This recipe is naturally gluten-free, but always double-check your spice blends—some garam masala mixes contain wheat. Opt for certified gluten-free brands like Badia Spices or Simply Organic. The chickpeas, coconut milk, and tomato sauce are typically safe, though you may want to verify labels for hidden additives.
Dairy-Free Notes
The curry is already dairy-free, but if you're adding garnishes like yogurt or cream, use coconut yogurt or cashew cream instead. For extra richness, stir in 2 tablespoons of coconut cream during the final simmer. The dish remains creamy and satisfying without any dairy components.
Protein Swaps
For a seafood twist, use shrimp or scallops—they cook quickly, so add them in the last 5 minutes of simmering. If you prefer poultry, chicken thighs work well—they stay juicy and pair perfectly with the spiced tomato base.
Just reduce the cooking time to 45-60 minutes once the chicken is added.
Low-Carb Options
Replace the chickpeas with cauliflower rice or shredded Brussels sprouts for a low-carb version. Roast the Brussels sprouts until crispy before adding them to the curry—they hold up well and add a delightful crunch. Serve with cauliflower rice instead of basmati for a fully low-carb meal.
Nutrition facts
Frequently asked questions
Can I use dried chickpeas instead of canned?
Yes, but you'll need to soak them overnight first. After soaking, simmer dried chickpeas in water for 45-60 minutes until tender but still firm. Add them to the curry during the final 10-15 minutes of cooking so they don't turn mushy. For extra crunch, roast them in the oven at 400°F for 20 minutes before adding to the curry.
How do I adjust the heat level?
Start with the ½ teaspoon cayenne pepper as written for medium heat. For mild heat, reduce to ¼ teaspoon or omit completely. For extra spice, add ½ teaspoon more cayenne or a pinch of red pepper flakes. Always taste as you go—you can add more heat later but can't remove it.
What's the best way to reheat leftovers?
Reheat gently on the stovetop over low heat with a splash of water or coconut milk to prevent drying out. For 2-3 minutes, stir occasionally until warmed through. Avoid microwaving—it can make the chickpeas soggy. The curry tastes even better the next day as flavors meld!
Can I make this curry in an Instant Pot?
Sear the beef first, then add all ingredients except garam masala. Cook on high pressure for 25 minutes, then quick-release. Stir in garam masala and simmer for 5 minutes to develop flavors. The Instant Pot version cooks 75% faster while keeping the beef tender.
Why does my curry taste bland?
Most likely, the spices weren't toasted long enough or the sauce didn't reduce properly. Always toast spices for 30 seconds to release their oils, and simmer uncovered for the last 10 minutes to concentrate flavors. Add a pinch of salt, acid (lemon juice), or umami (soy sauce) to brighten the dish.
