This hearty beef curry features tender chunks of beef chuck slow-cooked in a fragrant tomato-based sauce infused with traditional Indian spices like cumin, coriander, turmeric, and garam masala. The dish develops deep flavors through a two-step cooking process, first building a aromatic spice base, then simmering the beef until fork-tender. The addition of yogurt at the end creates a creamy, velvety texture that balances the tangy tomatoes. Perfect served over fluffy basmati rice or alongside warm naan for soaking up every drop of the luscious gravy.
The first time I made this curry, my entire apartment building smelled like spices. My neighbor knocked on my door thinking I'd ordered from an Indian restaurant. We've been friends ever since.
Last winter when my cousin visited from abroad, she said this curry reminded her of Sunday lunches at her grandmother's house in Mumbai. Now she requests it every single time she visits.
Ingredients
- 800 g (1.75 lbs) beef chuck cut into 2-inch cubes: Chuck roast has the perfect marbling for slow cooking and becomes meltingly tender
- 2 tablespoons vegetable oil: Use a neutral oil that can handle medium-high heat without burning
- 2 medium onions finely chopped: Don't rush this step, properly caramelized onions are the foundation of the curry's depth
- 4 garlic cloves minced: Fresh garlic makes all the difference here
- 1 tablespoon fresh ginger grated: Peel it with a spoon for less waste and more ginger
- 2 green chilies sliced: Adjust based on your heat tolerance but don't skip entirely
- 400 g (14 oz) ripe tomatoes chopped: In winter, canned diced tomatoes actually work better than watery fresh ones
- 1 teaspoon cumin seeds: Whole toasted cumin adds a layer of fragrance that ground can't match
- 1 tablespoon ground coriander: Earthy and essential for that classic curry base flavor
- 1 teaspoon ground turmeric: Gives the curry its beautiful golden color
- 1 teaspoon chili powder: Not just for heat, this adds depth and color
- 1 teaspoon garam masala: The warming spice blend that finishes everything beautifully
- 1 teaspoon ground cumin: Works with the toasted seeds for double cumin flavor
- 1 teaspoon paprika: Adds color without too much heat
- 2 teaspoons salt: Taste as you go and adjust to your preference
- 1 teaspoon black pepper: Freshly cracked makes a noticeable difference
- 2 bay leaves: Remove before serving but let them work their magic during cooking
- 4 whole cloves: Just a few go a long way
- 1 cinnamon stick: Ceylon cinnamon breaks apart easily during cooking
- 250 ml (1 cup) beef or chicken stock: Homemade stock yields the richest results
- 100 ml (1/2 cup) water: Adjust based on how thick you like your gravy
- 120 ml (1/2 cup) plain yogurt: Full fat Greek yogurt adds the best creaminess
- Fresh cilantro leaves chopped: The bright fresh finish cuts through the rich spices
- Lemon wedges: A squeeze right before serving brightens everything
Instructions
- Toast the whole spices:
- Heat oil in your largest heavy-bottomed pot over medium heat. Add cumin seeds, bay leaves, cloves, and cinnamon stick. Let them sizzle for about 1 minute until your kitchen fills with their fragrance.
- Caramelize the onions:
- Add onions and cook until deeply golden brown, about 8 minutes. Stir frequently and don't rush this step, the color equals flavor.
- Bloom the aromatics:
- Stir in garlic, ginger, and green chilies. Cook for 2 minutes until the raw garlic smell disappears and everything smells welcoming.
- Toast the ground spices:
- Add coriander, turmeric, chili powder, garam masala, ground cumin, paprika, salt, and pepper. Stir constantly for 1 minute until the spices darken slightly and become very fragrant.
- Brown the beef:
- Add beef cubes and brown on all sides, about 5 minutes. Don't overcrowd the pot or the meat will steam instead of sear.
- Break down the tomatoes:
- Stir in tomatoes and cook for 5 minutes until they soften and release their juices. The tomatoes should start breaking down into the spices.
- Simmer slowly:
- 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 yogurt finish:
- Remove lid and stir in yogurt. Simmer uncovered for another 20 to 30 minutes, until beef is fork-tender and sauce has thickened beautifully.
- Final adjustments:
- Taste and adjust seasoning if needed. Fish out and discard the bay leaves, cinnamon stick, and whole cloves before serving.
- Garnish and serve:
- Top generously with fresh cilantro. Serve hot with basmati rice or warm naan, with lemon wedges on the side for squeezing.
My friend who swears she hates beef curry tried this at a dinner party and went back for thirds. She texted me the next day for the recipe, saying her husband couldn't stop talking about it.
Making It Your Own
This curry template works beautifully with lamb, goat, or even chicken thighs if you adjust the cooking time. I've made it with chickpeas for a vegetarian version that still satisfies that curry craving.
The Spice Foundation
Whole spices toasted in oil release their essential oils in a way ground spices never can. This step takes only a minute but makes the difference between good curry and great curry.
Serving Suggestions
Basmati rice cooked with a pinch of cumin and a bay leaf makes the perfect pairing. Warm naan bread for scooping up every drop of that sauce is non-negotiable in our house.
- Make a simple cucumber raita with yogurt, mint, and cumin to cool things down
- Pickled onions add a bright acidic contrast to the rich gravy
- Some toasted papadum on the side adds satisfying crunch
There's something so comforting about a pot of curry bubbling away on the stove. Hope this recipe finds its way into your regular rotation and brings your people together around the table.
Recipe FAQs
- → What cut of beef works best for this curry?
-
Beef chuck is ideal because it becomes tender and flavorful during long simmering. The connective tissue breaks down beautifully, creating melt-in-your-mouth pieces.
- → Can I make this curry ahead of time?
-
Absolutely. The flavors actually deepen when made a day ahead. Store in the refrigerator and reheat gently on the stovetop, adding a splash of water if needed.
- → How can I make this dairy-free?
-
Simply replace plain yogurt with coconut yogurt or omit it entirely. The curry will still be rich and flavorful from the tomato base and spices.
- → What can I serve with this beef curry?
-
Basmati rice is traditional, but naan, roti, or other flatbreads are perfect for scooping up the sauce. A simple cucumber raita makes a cooling side dish.
- → How do I adjust the spice level?
-
Reduce chili powder and omit green chilies for milder flavor. For more heat, increase both and consider adding cayenne pepper. Taste as you go.