Soups & Stews
A beef and bean curry with a spiced tomato base transforms simple ingredients into a deeply flavorful stew that simmers to perfect richness. The secret lies in browning the beef first—this creates a deep, caramelized foundation that builds layers of complexity as the curry develops.
I’ve perfected this technique over years of testing, ensuring the sauce thickens just enough to coat every bite without being gluey.
This recipe balances tender beef with hearty beans, creating a dish that’s both satisfying and nutritious. The spice blend is simple but impactful: cumin, coriander, and a touch of cayenne for warmth, all bloomed in oil until fragrant.
A 30-minute simmer lets the flavors meld, while the beans soften just enough to absorb the sauce without falling apart.
By the time you serve it, you’ll have a curry that’s aromatic, hearty, and packed with texture—crisp edges on the beef, tender beans, and a sauce that clings to every spoonful. The tomato base adds natural sweetness that balances the spices, while fresh cilantro at the end brightens everything up.
Perfect for weeknight dinners or meal prep, this curry reheats beautifully and tastes even better the next day. Serve it with basmati rice or crusty naan to soak up every last drop of that rich, spiced sauce. Let’s get cooking!
Ingredients for beef and bean curry
Simple ingredients that build deep, aromatic layers of flavor through careful technique.
| Ingredient | Amount | Notes |
|---|---|---|
| Chuck Roast 🥩 | 1 ½ lb | Cut into 1-inch cubes |
| Yellow Onions 🧅 | 1 whole | Diced, medium size |
| Canned Crushed Tomatoes 🍅 | 14 ½ oz | San Marzano preferred |
| Dry Red Lentils 🌾 | 1 cup | Rinsed before cooking |
| Vegetable Oil 🫒 | 2 tbsp | High smoke point |
| Ground Cumin 🌿 | 1 tsp | Freshly toasted preferred |
| Ground Coriander 🌿 | 1 tsp | Not coriander seeds |
| Cayenne Pepper 🔥 | ¼ tsp | Adjust for heat preference |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Beef Broth 💧 | 1 cup | Low-sodium preferred |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Ginger Root 🌿 | 1 tbsp | Freshly grated |
The chuck roast is your flavor anchor—look for good marbling at the butcher counter or grocery store meat section. Costco or Whole Foods often carry pre-cubed versions, which saves you time. If you're buying a whole roast, ask for it to be cut into 1-inch cubes; this ensures even cooking. The lentils should be plump and uniform—avoid those tiny red lentils that dissolve completely. For the tomatoes, San Marzano is ideal, but any good-quality crushed tomatoes will work. The key is checking for minimal additives in the ingredients list.
No cumin? Dried coriander seeds toasted and ground works in a pinch, though it won't be identical. Running short on ginger? Galangal root adds a citrusy depth if you can find it. The cayenne can be swapped for red pepper flakes at half the amount—just remember to taste as you go. For the garlic, frozen pre-minced works in a bind, but fresh is always better. The beef broth should be low-sodium—you can easily adjust the salt later. If you're using canned broth, low-sodium versions from Pacific Foods are my go-to.
This curry tastes even better the next day, so make a double batch if you're planning leftovers. Store in an airtight container in the fridge for up to 5 days, or freeze portions for 3 months. The lentils will soften further when reheated, so add a splash of water or broth if it seems too thick. For meal prep, I portion the curry into glass containers with tight lids—they keep the flavors vibrant longer. The cilantro should be added fresh right before serving, but you can store the chopped stems in the fridge for 2 days if needed.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just brown the chuck roast, toss in the onions and lentils, then let the tomatoes and spices do the work. No extra pans, no fuss, and honestly? That slow-simmered beef just falls apart with the right forkful.
- Deep, Rich Payoff: The crushed tomatoes and red lentils create this unexpected depth—sweet, tangy, and hearty all at once. Between us, the chuck roast turns so tender it’s basically melting, and the lentils soak up all the flavor like little flavor sponges.
- Leftovers That Beg for More: This curry tastes better the next day—yes, really. I make a double batch on Sundays, and by Wednesday, my kids are fighting over the last bowl. Freezer-friendly too; just reheat and serve.
- Budget Meal That Feeds: A whole roast and a can of tomatoes stretch into six servings without breaking the bank. Red lentils are cheap, onions are cheap, and the result? A filling, satisfying meal that makes grocery night feel like a win.
Step-by-step instructions for beef and bean curry with spiced tomato base
This method delivers a perfectly balanced curry with tender beef and hearty lentils in a rich, aromatic sauce.
Sear the Chuck Roast for Deep Flavor
Heat the 2 tablespoons vegetable oil in a large Dutch oven over medium-high heat until shimmering. Working in batches if needed, add the 1.5 lb chuck roast cut into 1-inch cubes, arranging them in a single layer. Let each piece sear undisturbed for 3-4 minutes until deeply browned on all sides.
This browning step is critical—it develops the Maillard reaction, creating complex flavors that form the foundation of your curry. Don't crowd the pan or the temperature will drop, preventing proper browning. Once all pieces are golden, transfer them to a plate and set aside.
Build the Spiced Tomato Base
In the same Dutch oven, add the 1 whole yellow onion diced and cook over medium heat for 5 minutes until softened. Stir in the 4 cloves garlic cloves minced and the 1 tablespoon freshly grated ginger root, cooking for 1 minute until fragrant.
Add the 1 tsp ground cumin, 1 tsp ground coriander, 0.25 tsp cayenne pepper, 1 tsp salt, and 0.5 tsp black pepper, stirring constantly for 30 seconds to toast the spices and release their aromas. Pour in the 14.5 oz canned crushed tomatoes and scrape up any browned bits from the bottom of the pan with a wooden spoon.
Simmer the Curry with Beef and Lentils
Return the seared beef to the Dutch oven and pour in the 1 cup beef broth. Bring to a gentle simmer, then reduce heat to low, cover partially, and let cook for 1 hour 15 minutes, stirring occasionally. The beef should become fork-tender while the sauce thickens.
After 45 minutes, stir in the 1 cup dry red lentils and add enough water to just cover the mixture (about 1 cup). Continue simmering until the lentils are tender and the beef is completely cooked through, about 20-25 minutes more. The curry should have a thick, saucy consistency with the lentils holding their shape but being easily mashed.
Finish and Garnish for Freshness
Remove the Dutch oven from heat and let it sit covered for 5 minutes. Stir in the 0.25 cup chopped fresh cilantro just before serving. The cilantro adds brightness that cuts through the richness of the curry and beef.
Taste and adjust seasoning if needed—add a pinch more salt or a dash of cayenne for heat. Serve immediately with basmati rice or crusty bread. The curry should have a rich, complex flavor with tender beef, hearty lentils, and a sauce that coats the back of your spoon.
Pro Tips For Making Beef And Bean Curry
- SEAR THE ROAST FIRST: I used to skip this step and just toss in the raw beef—big mistake. Heat your oil until it shimmers, then brown the chuck roast in 1-inch chunks over medium-high heat for 3-4 minutes per side. That crust locks in flavor and keeps the meat from turning mushy later.
- SWEAT ONIONS LOW AND SLOW: After burning three batches of onions, I finally learned: cook them on low heat for 8-10 minutes until soft and translucent, not golden. If you rush it, they’ll turn bitter and burn before the beef even gets a chance to caramelize properly.
- RINSE THE LENTILS: I was skeptical until I tried it—gives dry red lentils a quick 30-second rinse before adding them to the pot. This cuts down on grittiness and makes them cook faster, so they absorb the curry flavors instead of sitting like little sandbags.
- SIMMER THE TOMATOES: Don’t just dump in the crushed tomatoes and stir—let them simmer uncovered for 5 minutes first. This deepens their flavor and prevents the curry from tasting flat. (Yes, even if you’re impatient like me.)
Storing and reheating your leftovers
Refrigerator Storage
Let your curry cool to room temperature for no more than 2 hours before storing. Transfer to an airtight container—I love using glass Pyrex with snap-on lids—and refrigerate for up to 5 days.
The flavors actually deepen overnight as the spices meld further. Always leave 1-inch headspace to prevent spillage when reheating. 🌡️
Freezer-Friendly Tips
This curry freezes beautifully for up to 3 months without texture loss. Portion into quart-sized freezer bags (remove excess air) or glass containers. I recommend freezing in 2-cup servings for easy thawing. Label with the date—trust me, you’ll forget! For best results, thaw overnight in the fridge rather than microwave.
Stovetop Reheating
My preferred method maintains the best texture. Pour curry into a pot and heat over medium-low heat for 10-15 minutes, stirring occasionally. Add 2-3 tablespoons water or broth if it looks too thick.
Taste and adjust seasoning—curry often needs a pinch of salt after reheating. The lentils will soften further, which is perfect for texture. 🔥
Microwave Safety
For quick reheating, use 50% power in 2-minute intervals, stirring between each. Cover loosely with a microwave-safe lid or damp paper towel. If the sauce separates, add a splash of water or broth and stir vigorously.
Never reheat to 165°F—this curry is safe at lower temps due to the acidity from tomatoes.
Garnish Refresh
Always add fresh cilantro after reheating—it brightens flavors that can dull when stored. For extra zing, squeeze a little lime juice over the top. A sprinkle of toasted cumin seeds adds warmth and visual appeal. These finishing touches make reheated curry taste almost as good as fresh! ✨
Leftovers Strategy
Double the batch and freeze half immediately—this curry tastes even better the next day. I keep a glass container in my freezer specifically for curry portions. When reheating, I always add a pinch of salt and cayenne to revive the flavors.
The lentils become even more tender, creating a creamy texture that's irresistible. 💫
Nutrition facts
Frequently asked questions
Can I substitute the red lentils for another type of bean?
Red lentils are ideal because they soften quickly and hold their shape, but you can use 1 cup brown or green lentils instead—they'll need 5-10 minutes longer to cook. If using kidney beans or black beans, start with ½ cup dry and soak overnight, as they stay firmer. For a creamier texture, try ½ cup chickpeas, but they’ll require 15-20 minutes extra simmering.
How do I adjust the heat level for picky eaters?
Reduce the cayenne to ¼ teaspoon or omit it entirely for a mild version. For extra warmth without heat, add ½ teaspoon smoked paprika or 1 teaspoon garam masala at the end. Always taste as you go—you can’t over-spice a curry, but you can’t fix blandness later!
What’s the best way to make this recipe vegetarian?
Replace the beef with 1.5 lbs extra-firm tofu (pressed and cubed) or 1.5 lbs mushrooms (like portobello or cremini). For protein, use 1 cup cooked chickpeas in addition to the lentils. Boost umami with 1 tablespoon soy sauce or ½ teaspoon miso paste when building the spice base. The tomato base will still shine!
Why did my curry turn out too thin?
This usually happens if you didn’t simmer long enough or used too much liquid. For next time, reduce the broth by ¼ cup and simmer uncovered for the last 10 minutes to thicken naturally. If it’s already too thin, mix 1 tablespoon cornstarch with 2 tablespoons water, stir into the curry, and simmer 2-3 minutes until thickened.
Can I make this in an Instant Pot?
Sauté the beef, onions, garlic, and spices as directed, then add all remaining ingredients (including lentils) and cook on high pressure for 20 minutes. Quick-release the pressure, then adjust thickness with a splash of water if needed. The Instant Pot version finishes in 30 minutes instead of 2 hours!
