Table of Contents
If you've ever had bo luc lac at a Vietnamese restaurant, you know the magic: cubes of beef so tender they practically melt, with a glossy, caramelized crust from a screaming-hot wok. The name "shaking beef" comes from the constant shaking of the pan as the meat sears, ensuring every side gets that beautiful char. And the best part? You can absolutely recreate it at home in about 30 minutes.
This dish is a weeknight hero. The marinade does double duty as a flavor bomb and a tenderizer, while the quick pickled onions add a bright, tangy punch that cuts through the richness of the beef. Piled high on peppery watercress and juicy tomatoes, it's a complete meal that looks impressive but comes together fast.
Why You'll Love This Dish
- Speed: From fridge to table in 30 minutes flat—perfect for busy nights.
- Restaurant-quality flavor: The high-heat sear gives you that smoky, caramelized crust you crave.
- Balanced textures: Tender beef, crisp watercress, and crunchy pickled onions in every bite.
- Simple ingredients: Most are pantry staples you likely already have.
- Versatile: Serve over rice, noodles, or just the greens for a low-carb option.
Ingredients & Smart Swaps
Here's what you'll need to make this shaking beef recipe shine. I've included easy substitutions so you can adapt to what's in your kitchen.
For the Beef & Marinade
- 1.5 lbs beef sirloin or ribeye, cut into 1-inch cubes. Swap: Flank steak or tri-tip work well too—just slice against the grain.
- 2 tbsp soy sauce (regular or low-sodium). Swap: Tamari for gluten-free.
- 1 tbsp oyster sauce—adds deep umami. Swap: Hoisin sauce or extra soy sauce.
- 1 tsp fish sauce—the secret to that authentic funk. Swap: Worcestershire sauce.
- 1 tbsp brown sugar—helps with caramelization. Swap: Honey or maple syrup.
- 2 cloves garlic, minced
- 1 tbsp cornstarch—tenderizes and helps thicken the glaze.
- 1 tbsp vegetable oil for marinade, plus more for searing.
For the Pickled Onions
- 1 small red onion, thinly sliced
- 3 tbsp rice vinegar (or white vinegar)
- 1 tbsp sugar
- Pinch of salt
For Serving
- 4 cups fresh watercress (or arugula/mixed greens)
- 2 ripe tomatoes, sliced into wedges
- Steamed jasmine rice (optional, for serving)
- Lime wedges and fresh cilantro for garnish
Pro-Tip: Freeze the beef for 15 minutes before cubing. Slightly firm meat is much easier to cut into even 1-inch cubes, which ensures uniform cooking.
Step-by-Step Cooking Guide
Step 1: Marinate the Beef
In a large bowl, whisk together soy sauce, oyster sauce, fish sauce, brown sugar, garlic, cornstarch, and 1 tablespoon of oil. Add the beef cubes and toss to coat evenly. Let it sit at room temperature for 15–20 minutes while you prep the rest. Doneness cue: The beef should look glossy and slightly tacky from the cornstarch.
Step 2: Make the Quick Pickled Onions
In a small bowl, combine the sliced red onion, rice vinegar, sugar, and salt. Toss well and set aside. The onions will soften and turn slightly pink as they pickle. Doneness cue: After 15 minutes, they should be crisp-tender with a bright, tangy bite.
Step 3: Heat Your Wok or Skillet
Place a wok or large cast-iron skillet over high heat. Add about 1 tablespoon of vegetable oil and swirl to coat. You want the pan very hot—almost smoking. Doneness cue: A drop of water flicked into the pan should sizzle and evaporate instantly.
Step 4: Sear the Beef in Batches
Add half the beef cubes in a single layer. Don't overcrowd—you want a sear, not a steam. Let them sit undisturbed for 1 minute, then shake the pan and toss the cubes for another 1–2 minutes until they're browned on all sides but still pink inside. Transfer to a plate and repeat with the remaining beef. Doneness cue: The beef should have a deep brown crust and register 125°F for medium-rare on an instant-read thermometer.
Step 5: Assemble and Serve
Arrange the watercress and tomato wedges on a platter. Pile the hot beef on top, then scatter the pickled onions over everything. Garnish with lime wedges and cilantro. Serve immediately, with steamed rice if you like.

Pro-Tip: For the best sear, pat the beef cubes dry with paper towels before marinating. Excess moisture is the enemy of caramelization.
Chef's Secrets for Success
- Hot pan, cold oil: Heat your pan first, then add oil. This creates a non-stick surface and ensures a proper sear.
- Don't crowd the pan: Cook in batches. Overcrowding drops the temperature and steams the meat instead of searing it.
- Rest the beef: Let the cooked cubes rest for 2–3 minutes before serving. This keeps the juices locked in.
- Balance the flavors: Taste the pickled onions before serving—add a pinch more sugar if they're too sharp, or a splash more vinegar if they're too sweet.
Troubleshooting & Common Mistakes
- Tough beef? You likely overcooked it. Shaking beef is best medium-rare. Use a thermometer and pull it at 125°F.
- No caramelization? Your pan wasn't hot enough, or you added too much beef at once. Get that pan screaming hot and work in batches.
- Soggy greens? Pat the watercress dry after washing. Excess water will wilt the greens and dilute the dish.
- Marinade too salty? Use low-sodium soy sauce and taste before adding extra salt. The fish sauce and oyster sauce are already salty.
Storage, Make-Ahead & Reheating
Storage: Store leftover beef and pickled onions separately in airtight containers in the fridge for up to 3 days. Keep the watercress and tomatoes separate and assemble fresh.
Make-ahead: Marinate the beef up to 24 hours in advance. Make the pickled onions up to a week ahead—they get better with time.
Reheating: Gently reheat the beef in a hot skillet for 1–2 minutes, just until warmed through. Avoid the microwave, which can toughen the meat.
Frequently Asked Questions
What cut of beef is best for shaking beef?
Sirloin or ribeye are ideal because they're tender and well-marbled. Flank steak or tri-tip also work—just slice against the grain for maximum tenderness.
Can I make this dish ahead of time?
You can marinate the beef and pickle the onions up to 24 hours ahead. Cook the beef fresh for the best texture.
Is shaking beef spicy?
Not at all—this recipe is savory and tangy, not spicy. If you want heat, add a sliced Thai chili to the marinade or serve with chili oil on the side.
What can I serve instead of watercress?
Arugula, baby spinach, or mixed greens are great substitutes. You can also serve the beef over steamed rice or rice noodles.
Main Course • Vietnamese
Vietnamese Shaking Beef (Bo Luc Lac)
★★★★★
4.9
(42 reviews)
Juicy, caramelized beef cubes seared in a hot wok, served over fresh watercress and tomatoes with tangy pickled onions. A 30-minute restaurant-quality dinner.
🛒 Ingredients
- ✓1.5 lbs beef sirloin or ribeye, cut into 1-inch cubes
- ✓2 tbsp soy sauce
- ✓1 tbsp oyster sauce
- ✓1 tsp fish sauce
- ✓1 tbsp brown sugar
- ✓2 cloves garlic, minced
- ✓1 tbsp cornstarch
- ✓1 tbsp vegetable oil (for marinade), plus more for searing
- ✓1 small red onion, thinly sliced
- ✓3 tbsp rice vinegar
- ✓1 tbsp sugar
- ✓Pinch of salt
- ✓4 cups fresh watercress
- ✓2 ripe tomatoes, sliced into wedges
- ✓Steamed jasmine rice (optional)
- ✓Lime wedges and fresh cilantro for garnish
📋 Step-by-Step Instructions
-
1In a large bowl, whisk together soy sauce, oyster sauce, fish sauce, brown sugar, garlic, cornstarch, and 1 tbsp oil. Add beef cubes and toss to coat. Let sit 15–20 minutes.
-
2In a small bowl, combine sliced red onion, rice vinegar, sugar, and salt. Toss and set aside to pickle.
-
3Heat a wok or large cast-iron skillet over high heat. Add 1 tbsp oil and swirl to coat.
-
4Add half the beef in a single layer. Sear undisturbed for 1 minute, then shake and toss for 1–2 minutes until browned but still pink inside. Transfer to a plate. Repeat with remaining beef.
-
5Arrange watercress and tomato wedges on a platter. Pile beef on top, scatter pickled onions, and garnish with lime and cilantro. Serve immediately.






