Indian Beef Curry with Tomato Gravy (Printable)

Tender beef cubes simmered in a fragrant spiced tomato gravy with aromatic Indian spices.

# What You Need:

→ Meats

01 - 1.75 lbs beef chuck, cut into 2-inch cubes

→ Vegetables & Aromatics

02 - 2 tablespoons vegetable oil
03 - 2 medium onions, finely chopped
04 - 4 garlic cloves, minced
05 - 1 tablespoon fresh ginger, grated
06 - 2 green chilies, sliced (optional)
07 - 14 oz ripe tomatoes, chopped or 1 can diced tomatoes

→ Spices

08 - 1 teaspoon cumin seeds
09 - 1 tablespoon ground coriander
10 - 1 teaspoon ground turmeric
11 - 1 teaspoon chili powder
12 - 1 teaspoon garam masala
13 - 1 teaspoon ground cumin
14 - 1 teaspoon paprika
15 - 2 teaspoons salt
16 - 1 teaspoon black pepper
17 - 2 bay leaves
18 - 4 whole cloves
19 - 1 cinnamon stick

→ Liquids

20 - 1 cup beef or chicken stock
21 - 1/2 cup water
22 - 1/2 cup plain yogurt

→ Garnish

23 - Fresh cilantro leaves, chopped
24 - Lemon wedges

# Steps:

01 - Heat oil in a large, heavy-bottomed pot over medium heat. Add cumin seeds, bay leaves, cloves, and cinnamon stick. Sauté for 1 minute until fragrant.
02 - Add onions and cook until golden brown, about 8 minutes, stirring frequently to prevent burning.
03 - Stir in garlic, ginger, and green chilies. Cook for 2 minutes until aromatic and raw smell dissipates.
04 - Add ground coriander, turmeric, chili powder, garam masala, ground cumin, paprika, salt, and pepper. Toast spices for 1 minute to release flavors.
05 - Add beef cubes and brown on all sides, about 5 minutes. This step develops depth and richness in the final dish.
06 - Stir in tomatoes and cook for 5 minutes, allowing them to soften and break down into the sauce base.
07 - Pour in stock and water. Bring to a boil, then reduce heat to low. Cover and simmer for 1 hour, stirring occasionally.
08 - Remove lid and stir in yogurt. Simmer uncovered for another 20–30 minutes, until beef is tender and sauce has thickened to desired consistency.
09 - Taste and adjust seasoning if needed. Remove bay leaves, cloves, and cinnamon stick before serving.
10 - Garnish with chopped cilantro. Serve hot with basmati rice or naan bread, accompanied by lemon wedges for brightness.

# Expert Hints:

01 -
  • The tomato gravy creates this incredible richness that tastes like it simmered all day even though the active cooking time is totally manageable
  • Beef chuck becomes fork tender while absorbing all those layers of spice without any fancy techniques
  • This recipe freezes beautifully and actually tastes better the next day when the flavors have had time to really settle in
02 -
  • I learned the hard way that adding yogurt too early can cause it to separate, so always stir it in during the last 30 minutes of cooking
  • Browning your onions properly takes patience but skipping this step is the difference between an okay curry and an incredible one
03 -
  • Pat your beef cubes dry before browning them to get better color and flavor development
  • Let the curry rest for 10 minutes off the heat before serving to allow the sauce to thicken slightly