Slow-Cooked Indian Beef Curry with Warm Spices
This slow-cooked Indian beef curry builds deep, warming layers of flavor from whole spices bloomed in hot oil, then simmers until the beef is spoon tender.

The kitchen fills with the scent of toasted cumin and cinnamon, and the rich, silky gravy begs for a pile of rice or warm naan.
What Makes This Curry So Good
The long, low heat breaks down beef chuck so it becomes so tender you barely need to chew. It’s not a quick weeknight fry-up, but almost all the time is hands-off, with the pot on the stove filling the house with spice.
Whole cinnamon, cardamom, and cloves get toasted in ghee at the start, which wakes up their oils and gives the curry a fragrance that ground spices alone can’t match. The yogurt stirred in at the end smooths out the heat and adds a gentle tang that keeps the gravy from feeling heavy.
This is the version I keep coming back to because it tastes even better the next day. If you can, make it ahead.
Ingredients

- 2 lbs beef chuck, cut into 2‑inch cubes: shoulder chuck is ideal for melting tenderness
- 3 tbsp ghee or neutral oil: ghee brings a nutty richness, oil works fine
- 1 cinnamon stick (about 2 inches): the warmest note in the pot
- 4 green cardamom pods, lightly crushed: they perfume the whole dish
- 4 whole cloves: a little goes a long way
- 1 bay leaf: rounds out the base
- 2 tsp cumin seeds: toast them whole for a deeper savoriness
- 2 tsp coriander seeds: they add a citrusy, earthy layer
- 2 medium onions, finely diced (about 2 cups): they melt into the gravy
- 4 garlic cloves, minced: use fresh, not powdered
- 1‑inch piece ginger, grated: grate on a microplane so it disappears into the sauce
- 1 tsp ground turmeric: for color and a quiet earthiness
- 1 to 2 tsp Kashmiri chili powder: use 1 tsp for mild warmth, 2 for a real kick
- 1 tsp garam masala: added early so it cooks into the meat
- 1½ tsp salt: adjust to your taste at the end
- 2 medium tomatoes, diced (or 1 cup canned crushed tomatoes): they break down into the sauce
- 1 cup water (or beef stock): just enough to get the braise going
- ½ cup full‑fat plain yogurt, whisked smooth: stir it in off the heat so it doesn’t curdle
- Handful of fresh cilantro leaves: for a fresh finish
Variations / Substitutions
- Swap the protein: lamb shoulder or bone‑in goat work beautifully with the same method; just add 30 minutes more simmer time.
- Dairy‑free option: use coconut cream instead of yogurt at the end, and brown the meat in oil.
- Dial up the heat: add a slit green chili or an extra teaspoon of chili powder when you add the ground spices.
- Fresh vs. dry tomatoes: fresh give a brighter note; canned crushed tomatoes make a thicker gravy faster.
If you like this, try my chicken tikka masala.
How to Make Indian Beef Curry
Step 1: Toast the Whole Spices

Warm the ghee in a large, heavy‑bottomed pot or Dutch oven over medium heat. Once it shimmers, toss in the cinnamon stick, cardamom pods, cloves, bay leaf, cumin seeds, and coriander seeds. Let them sizzle and pop for about 1 minute, stirring often, until the whole kitchen smells like a spice market.
The seeds will darken a shade and the cardamom pods will puff slightly. That’s your cue they’ve released their oils and are ready.
Toasting whole spices in hot fat is the quiet secret that gives the curry a deep, round fragrance. It takes a minute and changes everything.
Step 2: Sear the Beef

Raise the heat to medium‑high and add half the beef cubes to the pot. Do not crowd them; you want each piece to hit the hot bottom. Let them sit undisturbed until a deep brown crust forms on one side, about 3 to 4 minutes, then turn and brown all over, another 3 to 4 minutes total. Scoop the first batch out onto a plate and repeat with the remaining beef, adding a bit more ghee if the pot looks dry.
A proper sear leaves a dark, sticky patch on the bottom of the pot. That fond is pure flavor for the gravy.
Crowding the pan steams the meat instead of searing it. Take the extra few minutes to work in batches, and you’ll be rewarded with beef that stays moist inside and builds a richer sauce.
Step 3: Build the Aromatic Base

Lower the heat to medium and tip the diced onions into the pot, along with a small pinch of salt to help them sweat. Cook, stirring now and then, for 8 to 10 minutes until the onions are soft and deeply golden. Stir in the garlic and ginger and cook for 1 minute more, just until you can really smell them.
You’ll see the onions go from pale to amber and shrink down to half their original volume. The garlic and ginger will sizzle in the fat and turn fragrant fast.
Add the ground turmeric, chili powder, garam masala, and the measured salt. Stir constantly for 1 minute so the powders toast onto the onion mix. This step cooks off the raw edge of the spices and sets the color of the curry.
Step 4: Braise the Curry

Pour in the diced tomatoes and the water or stock. Scrape the bottom of the pot with a wooden spoon to lift every last bit of the browned fond. Return the seared beef and any juices from the plate to the pot, then stir everything together. Bring it to a boil, then drop the heat to low, cover with a tight‑fitting lid, and let it simmer gently for 1½ to 2 hours.
After an hour, peek under the lid. The beef should still be in chunks but starting to yield to a spoon. Taste the sauce and add more salt if it needs it. The gravy will thicken slightly and turn a deep, rusty orange as the tomatoes break down.
Low, steady heat is what turns tough chuck into something that falls apart. Resist the urge to boil it hard; a lazy bubble is all it needs.
Step 5: Stir Through the Yogurt and Serve

Turn off the heat and let the curry settle for a minute. Scoop half a cup of the hot gravy into a bowl with the whisked yogurt and stir rapidly to warm it through. Pour the tempered yogurt mixture back into the pot and stir gently until the gravy turns silky and uniform.
The yogurt lightens the color and softens the bite of the spices. Taste one last time for salt and sprinkle cilantro over the top. Spoon the curry over rice or serve it alongside warm naan while it’s still steaming.
A Few Tips Before You Start
- Choose the right cut: Beef chuck is the sweet spot. Brisket also works but needs an extra 30 to 40 minutes of simmering. Skip lean cuts like sirloin, which dry out before they tenderize.
- Toast your own spices: Whole cumin and coriander seeds, toasted just before cooking, taste brighter than pre‑ground. If you only have ground, use the same amount but add them with the other ground spices in Step 3.
- Make it the day before: Like most braises, this curry is even better after a night in the fridge. The flavors meld and the gravy thickens. Simply reheat gently on the stove with a splash of water.
- Temper the yogurt: Stirring cold yogurt straight into a hot pot can make it split. Always warm it with a ladleful of hot gravy first, as in Step 5, for a smooth, creamy finish.
Simmer times for different cuts:
| Cut | Approx. Simmer Time |
|---|---|
| Beef chuck | 1½ to 2 hours |
| Beef brisket | 2 to 2½ hours |
| Beef shank (on the bone) | 2½ to 3 hours |
| Lamb shoulder | 1½ to 2 hours |
Storing Leftover Curry
- Refrigerate: Cool the curry completely, then store in a sealed container for up to 4 days. The gravy may thicken as it chills.
- Reheating: Warm gently in a pan over low heat with a few tablespoons of water to loosen the sauce. Stir occasionally until heated through.
- Freeze it: Freeze in portions for up to 3 months. Thaw overnight in the fridge before reheating.
What To Serve With Indian Beef Curry
A mound of steamed basmati rice is the simplest companion. Its fluffiness catches every drop of gravy. For soaking, soft naan or roti work beautifully. To cut the richness, a cooling cucumber raita or a quick pickled onion salad adds a sharp, fresh contrast that wakes up the palate.
Frequently Asked Questions
Can I make this curry in a slow cooker?
Yes. Sear the beef and build the base on the stove first as written, then transfer everything to a slow cooker. Cook on low for 6 to 8 hours, then stir in the tempered yogurt at the end.
My yogurt split when I added it. What went wrong?
The yogurt was likely too cold or the curry too hot. Always warm the yogurt with some hot gravy before adding it to the pot off the heat, as described in Step 5.
Is there a dairy‑free version that still tastes creamy?
Absolutely. Stir in full‑fat coconut cream instead of yogurt at the end. It gives a similar silky texture and a subtle sweetness that works well with the spices.
Can I use a different chili powder?
Yes. Kashmiri chili adds vibrant color with mild heat. Regular Indian chili powder or a mix of paprika and cayenne works, too. Start with a small amount and adjust after tasting the finished sauce.
Do I need to remove the whole spices before serving?
It’s polite to fish out the cinnamon stick, bay leaf, and cardamom pods if you spot them while serving, but a small piece left behind is expected in many home kitchens. Warn your guests.

Indian Beef Curry Recipe
Ingredients
Method
- Warm the ghee in a heavy pot over medium heat, toast the whole spices for 1 minute until fragrant.
- Sear the beef in batches over medium‑high heat for 6 to 8 minutes per batch until deeply browned on all sides, then set aside.
- Cook the onions in the same pot for 8 to 10 minutes until golden, then stir in the garlic, ginger, and ground spices for 1 minute.
- Add the tomatoes, water, and seared beef, bring to a boil, then simmer covered on low for 1½ to 2 hours until the beef is very tender.
- Off the heat, temper the yogurt with a ladle of hot gravy, then stir it back into the pot and finish with cilantro before serving.
