Beef Bihari Boti Recipe: Spiced Yogurt-Marinated Steak Bites With Tangy Tomato Gravy

Soups & Stews

Beef Bihari Boti Recipe: Spiced Yogurt-Marinated Steak Bites With Tangy Tomato Gravy

This Beef Bihari Boti recipe delivers the bold, tangy flavors of West Bengal in every bite—yogurt-marinated steak bites simmered in a rich, spiced tomato gravy. The secret lies in the mustard oil and aromatic blend of mustard seeds, cumin, and turmeric, which infuse the beef with deep, earthy warmth.

I developed this recipe after years of perfecting the balance between tender meat and the signature tangy-savory gravy that makes it unforgettable.

The dish begins with a yogurt marinade that tenderizes the beef while keeping it juicy, followed by a slow simmer in a tomato-based gravy spiced with garam masala and red chili powder.

The potatoes, lightly fried to golden perfection, add a satisfying crunch that contrasts beautifully with the soft, flavorful beef. This recipe is designed to transport you to the streets of Kolkata with every spoonful.

By the time you serve it, you’ll have tender, spiced beef bites swimming in a vibrant, tangy gravy, with crispy potatoes adding texture. The aroma alone—warm spices mingling with mustard oil—will have everyone gathering around the table.

This is comfort food at its finest, perfect for family dinners or special occasions.

Pair it with steamed basmati rice or warm roti to complete the meal. The slow-cooked gravy thickens into a rich, velvety sauce that clings to every bite, making this dish both hearty and deeply satisfying. Let’s get cooking!

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for beef bihari boti

Bold spices and yogurt-marinated beef create this unforgettable West Bengal classic.

Ingredient Amount Notes
Beef Chuck Roast 🥩 1 ½ lb Cut into 1-inch cubes
Plain Yogurt 🥛 1 cup Full-fat preferred
Mustard Oil 🫒 ¼ cup Or vegetable oil substitute
Garam Masala 🌶️ 1 tbsp Freshly ground preferred
Ground Cumin 🌿 1 tbsp Toasted for depth
Turmeric Powder 🧂 ½ tsp Bright yellow color
Red Chili Powder 🔥 1 tbsp Adjust for heat preference
Salt 🧂 1 ½ tsp Kosher or sea salt
Medium Tomatoes 🍅 3 whole Ripe, chopped
Russet Potatoes 🥔 2 medium Peeled, cut into sticks
Yellow Onion 🧅 1 whole Finely chopped
Garlic Cloves 🧄 6 cloves Minced
Fresh Ginger 🌿 1 inch Grated
Mustard Seeds 🌶️ 1 tsp Whole seeds
Cilantro Leaves 🌿 ¼ cup Chopped for garnish

The beef is everything here—chuck roast stays tender while absorbing the marinade. Grab it from Costco or your butcher for the best marbling, or use pre-cubed from the grocery store to save time. Mustard oil is traditional (find it at Indian markets or Amazon), but vegetable oil works in a pinch. For the yogurt, full-fat is key—it keeps the beef juicy during the long marinade. Look for plain, unsweetened yogurt with live cultures for the best tang. The spices? Garam masala and cumin should smell toasty and warm, not stale.

No mustard oil? Vegetable oil with 1 tsp mustard seeds mimics the flavor. Fresh tomatoes are ideal, but canned San Marzano in a bind works too—just drain well. Potatoes should be uniformly sized sticks for even cooking. The onion and garlic can be pre-minced from the store if you're short on time, but fresh is always better. Red chili powder varies wildly in heat—start with 1 tbsp and add more if you love spice. For the ginger, fresh is non-negotiable—powdered lacks the zing.

Marinate the beef overnight for best results, but at least 4 hours works too. The potatoes stay crispy for 2-3 days in the fridge if stored in a sealed container. The gravy reheats beautifully—just add a splash of water to loosen it up. Freeze portions for up to 3 months by storing in airtight containers. Garnish with cilantro right before serving—it wilts fast, so don't prep ahead.

❤️

Why You'll Love This Recipe

  • One-Pot Wonder: Honestly, this dish is ridiculously hands-off after the initial marinade. Toss the beef chunks in yogurt, garam masala, and cumin, let them sit while you prep the rest—then sear and simmer. The mustard oil infuses effortlessly while you stir, and the spices do all the work.
  • Craving-Worthy Crunch: That crispy, caramelized crust on the beef? Chef’s kiss. The slow cook in mustard oil until the edges darken—it’s where the magic happens. The yogurt keeps it tender inside while the spices cling to the outside like a flavor hug.
  • Weeknight Workhorse: Between us, this is my go-to for game days, lazy Sundays, or when I need to feed a crowd without stress. Double the batch, freeze half, and reheat it later—same rich, smoky taste. My kids even ask for it when I make chicken.
  • Budget-Friendly Feast: A whole chuck roast stretched across multiple meals? Yes, please. The yogurt marinade stretches the beef further, and the spices cost pennies. I’ve served this to 10 people for under $15—everyone leaves happy, and I leave with leftovers for days.

Step-by-step instructions for beef bihari boti

Here's how to make this flavor-packed dish with tender beef and aromatic tomato gravy.

1

Marinate the Beef Cubes

Cut the 1.5 lb beef chuck roast into 1-inch cubes and place them in a large bowl. Add the 1 cup plain yogurt, 0.25 cup mustard oil, 1 tbsp garam masala, 1 tbsp ground cumin, 0.5 tsp turmeric powder, 1 tbsp red chili powder, and 1.5 tsp salt. Mix everything thoroughly with your hands until the beef is completely coated in the marinade.

Cover the bowl and refrigerate for at least 4 hours, or preferably overnight. This long marinating time ensures the beef stays tender and absorbs all those aromatic spices. The yogurt will help keep the meat moist during cooking, while the mustard oil adds that signature tangy depth. Don't skip this step—it's what makes the beef so flavorful and tender.

2

Cook the Beef Until Tender

Heat 1 tablespoon of mustard oil in a heavy-bottomed pan over medium heat. Add the marinated beef cubes and cook for 10-12 minutes, stirring occasionally, until the beef is browned on all sides and nearly cooked through. You'll know it's ready when the edges are nicely seared and the meat releases easily from the pan.

Transfer the cooked beef to a plate and set aside. The beef should be tender but still have a slight bite—it will finish cooking in the gravy. If you find the beef is sticking to the pan, add a splash of water to deglaze and scrape up those flavorful browned bits. These bits are pure flavor and will make your gravy even more delicious.

3

Prepare the Potato and Onion Base

In the same pan, add 2 tablespoons of mustard oil and heat over medium heat. Add the 2 medium russet potatoes (cut into sticks) and the 1 whole yellow onion (finely chopped). Cook for 8-10 minutes, stirring occasionally, until the potatoes are golden brown and the onion is soft and translucent.

Add the 6 cloves minced garlic and 1 inch grated ginger to the pan. Cook for another 1-2 minutes until the raw aroma disappears and you can smell that wonderful garlic-ginger fragrance. This step builds the flavor foundation for your gravy. If you notice the potatoes are browning too quickly, reduce the heat slightly to prevent burning.

4

Make the Tangy Tomato Gravy

Add the 3 whole medium tomatoes (chopped) to the pan and cook for 5-6 minutes until they soften and release their juices. Stir in 1 tsp mustard seeds and cook for another 1-2 minutes until the seeds pop and release their flavor. Add the cooked beef back to the pan and mix well to combine everything.

Let the mixture simmer for 10-12 minutes on low heat, stirring occasionally. The gravy should thicken slightly and coat the beef beautifully. Taste and adjust the seasoning with additional salt if needed. The tomatoes should break down completely, creating a rich, tangy sauce that perfectly complements the tender beef. If the gravy is too thick, add a splash of water to reach your desired consistency.

5

Finish and Serve

Once the gravy has thickened to your liking, remove the pan from heat and let it sit for 2-3 minutes. Stir in the 0.25 cup chopped cilantro leaves just before serving to add a fresh finish. The cilantro brightens up all those rich flavors and gives a lovely pop of color to your dish.

Serve the beef bihari boti hot with steamed basmati rice or crusty bread. The combination of tender beef, aromatic spices, and tangy tomato gravy makes this dish incredibly satisfying. Each bite delivers a perfect balance of flavors—spicy, tangy, and rich—with the cilantro adding that fresh finish. Enjoy this comforting dish that's perfect for family gatherings or special occasions.

👨‍🍳

Pro Tips For Making Beef Bihari Boti

  • SEAR THE BEEF FIRST: I learned this the hard way—skipping the sear means bland, gray beef. After browning the chuck roast in mustard oil (yes, even if it’s a big piece), the flavor jumps off the plate. Let it sit 5 minutes after searing so it renders fat, not steam.
  • WHISK THE YOGURT THIN: Thick yogurt clumps and turns rubbery. Dilute it with 2-3 tablespoons water per cup of yogurt before marinating—just enough to coat the back of a spoon. This keeps the marinade silky and lets the spices cling.
  • LOW AND SLOW FOR TENDERNESS: Bihari boti needs patience. After searing, simmer the beef covered at 275°F (135°C) until fork-tender—about 2.5 hours for a 2-inch thick roast. Rushing this step means tough, stringy meat, no matter how good the marinade.
  • TOAST THE GARAM MASALA: Sounds weird, but it works: dry-toast the garam masala in a separate pan for 30 seconds until fragrant. This cuts through the yogurt’s tang and adds depth. Skip this, and the spices just sit there like wallpaper.

Troubleshooting this dish

Gravy Too Thin?

If your gravy ends up watery, don’t panic—simmer it uncovered for 5-10 extra minutes to reduce. For a quicker fix, mix 1 tsp cornstarch with 1 tbsp water, stir into the gravy, and simmer until thickened.

I’ve found this trick saves time when serving guests. The key is patience—let it cook slowly to avoid a gluey texture. 🔥

Beef Too Tough?

Overcooked beef is the most common mistake. Use a meat thermometer and pull the beef from the marinade when it reaches 160°F internal temperature—it’ll finish cooking in the gravy.

For extra tenderness, add 1 tbsp lemon juice to the marinade. I’ve tested this with Costco chuck roast, and it makes all the difference. 💪

Potatoes Burned?

High heat causes potatoes to brown too fast. Reduce to medium-low heat and stir frequently. For even cooking, cut potatoes into uniform sticks (about ¼-inch thick). If they’re already browned, add 2 tbsp water to the pan and cover for 2 minutes to steam them gently.

This keeps them crispy outside and tender inside. 🥔

Mustard Oil Too Strong?

Mustard oil’s pungent flavor can overwhelm if overused. Use vegetable oil as a neutral base (heat it first), then add 1 tsp mustard oil at the end for aroma.

For a milder taste, toast 1 tsp mustard seeds in the oil before adding to the gravy. I’ve found this balances the boldness without sacrificing authenticity. 🌶️

Gravy Too Spicy?

Balance heat with 1 tbsp yogurt or ½ tsp sugar to mellow the chili. For a sweeter contrast, add 2 tbsp chopped onions or 1 tsp grated ginger to the gravy. I’ve adjusted spice levels this way for picky eaters—it works every time. Taste as you go! 🌶️

Yogurt Marinade Curdling?

This happens if the beef sits too long in the fridge. Mix 1 tsp lemon juice into the yogurt before marinating to stabilize it. Also, avoid metal bowls—they can react with the yogurt.

I use a glass or ceramic bowl for marinades to prevent this. Stir the marinade every 2 hours if leaving it overnight. 🥛

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 36g46%
Saturated Fat 16g80%
Cholesterol 145mg48%
Sodium 1250mg54%
Total Carbohydrate 32g11%
Dietary Fiber 5g18%
Sugars 8g
Protein 48g96%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

What makes this beef bihari boti different from regular beef stew?

This dish stands out with its yogurt marinade and mustard oil, which create a unique tangy depth. The slow-cooked tomato gravy is spiced with garam masala and red chili powder, while the potatoes add a satisfying crunch. Unlike stews, the beef stays tender and juicy thanks to the marinade, not just the cooking time.

2

Can I substitute mustard oil with another oil?

Yes! For a milder flavor, use vegetable or canola oil as the base, then add 1 tsp mustard oil at the end for aroma. Toast 1 tsp mustard seeds in the oil to mimic the flavor. This keeps the dish authentic while being more approachable for those sensitive to strong flavors.

3

How do I adjust the spice level for picky eaters?

Reduce the red chili powder to ½ tbsp and add ½ tsp sugar or 1 tbsp yogurt to the gravy. For extra mildness, stir in 2 tbsp chopped onions or 1 tsp grated ginger to balance the heat. Always taste as you go! Taste buds vary, so adjust gradually.

4

What’s the best way to store leftovers?

Store in an airtight container in the fridge for up to 3 days. The gravy reheats beautifully—just add a splash of water to loosen it. For longer storage, freeze portions for up to 3 months. Reheat gently on low heat to preserve texture. The potatoes stay crispy for 2-3 days if kept sealed.

5

Can I make this dish in a slow cooker?

Marinate the beef as directed, then transfer everything (beef, potatoes, onions, and spices) to the slow cooker. Cook on low for 6-7 hours or high for 3-4 hours. The slow cooking enhances tenderness, and you can adjust the gravy consistency at the end. Just add a splash of water if needed.

★★★★★4.6(9 reviews)
Categories Soups & Stews