This hearty curry features succulent beef chuck slowly simmered in a velvety tomato-based sauce infused with warming spices like cumin, coriander, turmeric, and garam masala. The meat becomes incredibly tender after nearly two hours of gentle cooking, absorbing the complex layers of flavor from whole and ground spices. The finished dish balances heat from chilies with cooling yogurt, creating a luscious, thick gravy that coats each piece of beef perfectly. Serve alongside fluffy basmati rice or charred naan to soak up every drop of the flavorful sauce.
The first time I made this curry, my tiny apartment smelled so incredible that my neighbor knocked on my door to ask what was happening. I had taken my time browning the onions until they turned the perfect shade of amber, something my friend Priya had sworn was the secret to restaurant-quality Indian food at home.
Last winter during a snowstorm, I let this simmer for nearly three hours while reading on the couch. The house felt warmer, the smell kept getting deeper and richer, and by the time we finally ate, the beef was falling apart at the mere suggestion of a fork.
Ingredients
- 800 g beef chuck: Chuck has enough marbling to stay tender through long braising, and cutting it into 2-inch cubes gives you those perfect bite-sized pieces that soak up all the sauce
- 2 tablespoons vegetable oil: You want a neutral oil that can handle medium-high heat without burning
- 2 medium onions: Finely chopped and cooked until golden brown, these create the foundational sweetness that balances all those warm spices
- 4 garlic cloves: Freshly minced garlic adds that punchy aromatic base
- 1 tablespoon fresh ginger: Grated fresh ginger brings a bright, spicy warmth that ground ginger just cant replicate
- 2 green chilies: Slice them if you want some heat, leave them whole for milder flavor, or skip them entirely if youre sensitive
- 400 g ripe tomatoes: Fresh tomatoes break down beautifully, but canned diced tomatoes work perfectly when good fresh ones arent in season
- 1 teaspoon cumin seeds: Whole cumin seeds toasted in hot oil release this incredible nutty fragrance that sets the tone for the entire dish
- 1 tablespoon ground coriander: Coriander adds this subtle citrusy earthiness that ties all the other spices together
- 1 teaspoon ground turmeric: Besides that gorgeous golden color, turmeric adds a subtle earthy bitterness
- 1 teaspoon chili powder: Adjust this based on your heat tolerance
- 1 teaspoon garam masala: This warming spice blend gets added late to preserve its aromatic complexity
- 1 teaspoon ground cumin: Ground cumin reinforces the toasted cumin seeds and adds depth
- 1 teaspoon paprika: Paprika adds color and a mild fruity sweetness
- 2 teaspoons salt: Taste as you go and adjust
- 1 teaspoon black pepper: Freshly cracked pepper adds a subtle heat that lingers
- 2 bay leaves: These release their subtle woodsy aroma during the long simmer
- 4 whole cloves: Just four cloves add this incredible warm sweetness
- 1 cinnamon stick: A single cinnamon stick infuses the whole dish with gentle warmth
- 250 ml beef or chicken stock: Stock adds depth that water alone cant provide
- 100 ml water: This helps create the right sauce consistency
- 120 ml plain yogurt: Stirred in near the end, yogurt adds tanginess and creaminess
- Fresh cilantro leaves: Fresh cilantro brightens everything up
- Lemon wedges: A squeeze of lemon right before serving wakes up all the flavors
Instructions
- Build the aromatic foundation:
- Heat oil in a large heavy-bottomed pot over medium heat, then add cumin seeds, bay leaves, cloves, and cinnamon stick. Sauté for about 1 minute until the cumin seeds start to sizzle and the fragrance fills your kitchen.
- Caramelize the onions:
- Add the chopped onions and cook until golden brown, about 8 minutes, stirring frequently so they dont burn. This step is worth the patience.
- Add the aromatics:
- Stir in garlic, ginger, and green chilies, cooking for 2 minutes until the raw garlic smell mellows into something fragrant and inviting.
- Toast the ground spices:
- Add all the ground spices and toast for 1 minute, stirring constantly to prevent burning. Youll know theyre ready when the smell becomes intensely aromatic.
- Brown the beef:
- Add beef cubes and brown on all sides, about 5 minutes. Dont rush this part; the browned bits add incredible depth.
- Break down the tomatoes:
- Stir in tomatoes and cook for 5 minutes until they soften and start releasing their juices.
- Simmer low and slow:
- Pour in stock and water, bring to a boil, then reduce heat to low. Cover and simmer for 1 hour, stirring occasionally to prevent sticking.
- Add the creamy finish:
- Remove lid and stir in yogurt. Simmer uncovered for another 20 to 30 minutes until beef is fork-tender and the sauce has thickened beautifully.
- Final adjustments:
- Taste and adjust seasoning if needed, then fish out the whole spices before serving.
- Serve with love:
- Garnish with fresh cilantro and serve hot with basmati rice or naan, with lemon wedges on the side.
My brother-in-law, who usually complains about too-spicy food, went back for thirds and asked for the recipe before he even finished his first plate. Something about the balance of rich tomato and warming spices just clicked for him.
Make It Your Own
Lamb or goat work beautifully here and actually cook a bit faster than beef. For a weeknight version, I sometimes use a pressure cooker and cut the simmer time down to about 30 minutes.
Serving Suggestions
Basmati rice is classic, but this curry also shines over warm naan or roti for soaking up every drop. A simple cucumber raita on the side helps balance the heat.
Make Ahead Magic
This curry actually tastes better the next day, which makes it perfect for meal prep or entertaining.
- Cool completely before refrigerating and it will keep for up to 4 days
- The flavors deepen overnight, so consider making it a day ahead
- Freeze portions in airtight containers for up to 3 months
There is something deeply satisfying about a curry that tastes like it came from a kitchen far more experienced than yours, yet fills your home with warmth and comfort.
Recipe FAQs
- → What cut of beef works best for this curry?
-
Beef chuck is ideal because it becomes tender during long simmering while remaining flavorful. The connective tissue breaks down, creating succulent, melt-in-your-mouth meat that holds up well in the thick gravy.
- → Can I make this curry in advance?
-
Absolutely. This dish actually tastes better the next day as flavors deepen and meld. Store in the refrigerator for up to 3 days, or freeze for up to 3 months. Reheat gently on the stove, adding a splash of water if needed.
- → How can I adjust the spice level?
-
Reduce or omit the green chilies for milder heat. For more spice, increase the chili powder or add additional fresh chilies. Remember that the garam masala and black pepper also contribute warmth and depth.
- → What makes the tomato gravy thick and rich?
-
The combination of chopped tomatoes breaking down during cooking, plus the addition of yogurt near the end, creates a luxurious, velvety sauce. Simmering uncovered for the final 30 minutes allows excess liquid to evaporate and concentrate flavors.
- → Can I use a pressure cooker or Instant Pot?
-
Yes. Sauté aromatics and spices using the sauté function, then pressure cook on high for 35-40 minutes. Allow natural pressure release. Finish by stirring in yogurt and simmering on sauté to thicken the gravy.
- → What sides complement this curry?
-
Fluffy basmati rice is classic, but warm naan, roti, or paratha are perfect for scooping up the rich gravy. A simple cucumber raita, pickled onions, or fresh chutney provide cooling contrast to the spiced beef.