Soups & Stews
This beef and bean sprouts recipe delivers a perfect balance of textures and flavors—silky, stir-fried beef meets crisp bean sprouts in a rich soy-based sauce that’s both savory and slightly sweet.
The secret lies in quick, high-heat cooking to preserve the bean sprouts' signature crunch while ensuring the beef stays tender and flavorful. I developed this dish after years of perfecting wok techniques, and it’s now a staple in my weeknight rotation.
The beauty of this recipe is its simplicity: just a handful of ingredients come together in minutes to create a restaurant-worthy meal. You’ll need thinly sliced beef (like flank or sirloon) for quick cooking, fresh bean sprouts for that satisfying crunch, and a simple soy-ginger-garlic sauce that ties everything together.
The key is proper timing—getting the beef seared just right before tossing in the sprouts ensures they stay crisp rather than soggy.
What you’ll end up with is a dish that’s vibrant, flavorful, and packed with contrasting textures—crisp bean sprouts, tender beef, and a glossy sauce that coats every bite. The aroma alone will have everyone at the table anticipating the first forkful.
This recipe is designed to be both quick and impressive, making it perfect for busy weeknights or when you want to cook something special without spending hours in the kitchen.
Serve it over steamed rice or with a side of warm noodles to soak up every last bit of that delicious sauce. The combination of textures and flavors makes this dish satisfying on its own, but the sides add an extra layer of comfort. Let’s get cooking!
Ingredients for beef and bean sprouts
Here’s what you’ll need to create this restaurant-style beef and bean sprouts dish—fast, flavorful, and full of satisfying crunch.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against grain |
| Bean Sprouts 🌱 | 4 cups | Fresh, crisp, rinsed well |
| Low-Sodium Soy Sauce 🍶 | ½ cup | For balanced flavor |
| Sesame Oil 🫒 | 1 tbsp | Toasted, for aroma |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Fresh Ginger 🌿 | 1 tbsp | Grated, peeled |
| Honey 🍯 | 1 tbsp | For subtle sweetness |
| Rice Vinegar 🍶 | 1 tbsp | White or seasoned |
| Vegetable Oil 🫒 | 2 tbsp | High smoke point |
| Sesame Seeds 🌾 | 1 tbsp | Toasted, for garnish |
| Green Onions 🧅 | 3 whole | Sliced, white and green parts |
| Salt 🧂 | ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ¼ tsp | Freshly ground |
| Steamed White Rice 🍚 | 2 cups | For serving |
The beef is non-negotiable here. Flank steak is my go-to because it’s lean, affordable, and slices beautifully against the grain. Grab it from the butcher counter if possible—they’ll often slice it for you. Look for good marbling but not too much fat, or you’ll end up with greasy stir-fry. Costco or Whole Foods usually have it pre-sliced, which saves time. If you can’t find flank, sirloin or ribeye work too, but slice thinner. Bean sprouts? Fresh is a must—the pre-washed bags at the grocery store are fine, but rinse them well before using. They wilt fast, so keep them in the fridge until ready to cook.
No soy sauce? Coconut aminos is a great 1:1 swap, though the flavor will be slightly different. Running out of sesame oil? Toasted peanut oil adds a nice nutty note, but use half the amount. Fresh ginger and garlic are ideal, but if you’re in a pinch, jarred minced garlic and powdered ginger work—just taste first. The honey can be swapped for maple syrup or agave if you prefer. For extra heat, add a pinch of red pepper flakes or a dash of Sriracha. The green onions are totally optional, but they add a fresh pop of color and crunch that I can’t resist—use the white parts for cooking and save the greens for garnish.
Prep the beef and sauce ahead if you’re short on time—they’ll keep in the fridge for up to 2 days. Bean sprouts stay fresh for 5-7 days if stored in a sealed container with a paper towel to absorb moisture. This dish reheats beautifully—just toss with a splash of water or soy sauce to keep it moist. For leftovers, store in an airtight container and reheat over medium heat for 1-2 minutes to revive the crispness. I always make extra rice to have on hand for quick meals—it’s the perfect vehicle for this sauce.
Why You'll Love This Recipe
- No-Chop Night Saved: I swear by this recipe when I’m too tired to dice anything. The flank steak slices itself thinly against the grain—no knife skills required—while the bean sprouts stay whole, just needing a quick rinse. Honestly, I’ve made this with frozen sprouts in a pinch, and it still works.
- Umami Bomb Alert: That first hit of sesame oil and garlic hitting the hot pan? Instant flavor explosion. The low-sodium soy sauce cuts through the richness of the steak, while the sprouts add a crisp, fresh bite. It’s the kind of dish where every bite tastes better than the last.
- Lunchbox Hero: Between us, this is my go-to for meal prep. The steak stays tender for days, and the sprouts hold up surprisingly well—no soggy salad here. Pack it cold or reheat it, and it’s a protein-packed lunch that won’t leave you sluggish.
- Budget Steakhouse Trick: Flank steak is affordable, and a pound goes a long way when sliced thin. The soy sauce and sesame oil stretch the flavor without breaking the bank, and leftovers taste just as good the next day. I’ll be real: this is how I pretend I’m eating fancy when I’m not.
Step-by-step instructions for stir-fried beef and bean sprouts
Here's how to create a perfectly balanced dish with tender beef and crisp bean sprouts.
Prepare the Flank Steak
Begin by slicing the 1 lb flank steak thinly against the grain into ¼-inch thick strips. This cut ensures tender bites that cook quickly. Place the sliced steak in a bowl and season generously with 0.5 tsp salt and 0.25 tsp black pepper. Let it sit at room temperature for 15 minutes—this helps the meat cook evenly and prevents overcooking.
While the steak seasons, prepare the bean sprouts by rinsing the 4 cups bean sprouts thoroughly in cold water. Drain well and pat dry with paper towels. The sprouts should be crisp and ready for quick cooking. Keep them in a separate bowl until you're ready to stir-fry.
Create the Flavor Base
Heat a large skillet or wok over medium-high heat and add 2 tbsp vegetable oil. Once the oil shimmers, add the 4 cloves minced garlic and 1 tbsp grated fresh ginger. Sauté for 30 seconds until fragrant—you'll smell that aromatic punch of garlic and ginger. Be careful not to let them burn; they cook quickly.
Next, add the 1 lb seasoned flank steak in a single layer. Let it sear undisturbed for 1-2 minutes until the edges turn light golden brown. This initial sear locks in the juices. Stir the beef occasionally for the next 2-3 minutes until it's 80% cooked—it should still have a slight pink center. Remove the beef from the skillet and set it aside temporarily.
Stir-Fry the Bean Sprouts
In the same skillet, add the 4 cups drained bean sprouts and stir-fry for 2-3 minutes until they just begin to wilt but remain crisp. You want to maintain that satisfying crunch—overcooking will turn them mushy. If the skillet seems dry, add a splash of water and stir.
Return the beef to the skillet and add 0.5 cup low-sodium soy sauce, 1 tbsp honey, and 1 tbsp rice vinegar. Stir everything together and cook for another 1-2 minutes until the sauce thickens slightly and coats the beef and sprouts. The combination of soy sauce and honey creates a perfect balance of salty and sweet flavors.
Finish and Serve
Remove the skillet from heat and stir in 1 tbsp sesame oil and 1 tbsp toasted sesame seeds. This adds depth and aroma to the dish. Taste and adjust seasoning if needed—you might want to add a pinch more salt or a dash of black pepper to suit your preference.
Divide the 2 cups steamed white rice among serving plates and top each portion with the beef and bean sprouts mixture. Garnish with 3 sliced green onions (white and green parts) for freshness and color. Serve immediately while the beef is still warm and the bean sprouts retain their crunch.
Pro Tips For Making Beef And Bean Sprouts
- SEAR STEAK IN BATCHES: Flank steak releases a ton of juice when searing—crowd the pan, and you’ll steam the meat instead of getting that caramelized crust. Work in two batches over medium-high heat, letting the first layer develop color for 2-3 minutes before moving it. (Yes, it’s slower, but the payoff is worth it.)
- TRIM SPROUTS LIKE A PRO: Bean sprouts pack moisture, so pat them very dry with paper towels before stir-frying. Toss them in a clean kitchen towel first if they’re extra wet—this prevents soggy, limp sprouts that turn to mush. (I learned this after one disastrous batch where they looked like overcooked noodles.)
- GARLIC: MINCE, DON’T CHOP: For this dish, finely mince your garlic into a paste with a pinch of salt—it distributes flavor more evenly and toasts faster. Whole cloves burn before they brown, and chopped pieces can sit unevenly. (Trust me, your future self will notice the difference in every bite.)
- REST THE STEAK UNDER FOIL: Cutting flank steak too soon turns it into a chewy, stringy mess. After searing, tent it with foil and let it rest for at least 5 minutes. The residual heat keeps it tender while you finish the sprouts—no one wants to fight their meat. (I skip this sometimes, and it’s always a regret.)
Dietary considerations for this dish
Gluten-Free Adaptations
This dish is naturally gluten-free if you use certified gluten-free soy sauce like Kikkoman Gluten-Free Tamari or San-J Tamari. Regular soy sauce often contains wheat, so double-check the label. I also recommend coconut aminos as a 1:1 substitute—they’re gluten-free and add a slightly sweeter, umami-rich flavor.
Just be aware that coconut aminos have a different taste profile, so you might want to add an extra pinch of garlic powder to compensate. 🌱
Low-Carb Options
Skip the rice entirely and serve the beef and bean sprouts over cauliflower rice for a low-carb twist. I like Trader Joe’s Frozen Cauliflower Rice because it’s pre-riced and ready to steam in minutes.
You could also try shirataki noodles for a zero-carb alternative—just rinse them well to remove excess sodium. The dish still delivers satisfying texture and flavor without the carb load. 🥦
Vegetarian Swaps
Replace the beef with extra-firm tofu for a vegetarian version. Press and slice the tofu into thin strips, then marinate it in 2 tbsp soy sauce, 1 tbsp rice vinegar, and 1 tsp grated ginger for 15 minutes.
Pan-fry until crispy before adding to the bean sprouts. For extra protein, add edamame or mushrooms to the stir-fry. The texture contrast remains perfect with these swaps. 🍄
Protein Customization
For a leaner option, use lean ground turkey or chicken breast instead of flank steak. Thinly slice the chicken against the grain and cook it just like the beef—it’ll stay juicy and tender.
If you prefer red meat, sirloin or ribeye work well, but slice them thinner to ensure quick cooking. The bean sprouts’ crunch pairs beautifully with any of these proteins. 🥩
Allergen Considerations
This recipe is naturally dairy-free and egg-free, making it safe for most common allergies. If you’re avoiding sesame, omit the sesame oil and seeds—just add an extra ½ tsp garlic powder for depth.
For nut allergies, stick to the original recipe or swap sesame oil for avocado oil. Always check ingredient labels, especially for pre-packaged items like soy sauce or rice vinegar. 🚫
Meal Prep Adjustments
For meal prep, store the cooked beef and bean sprouts separately in airtight containers. Reheat the beef first over medium heat for 1-2 minutes, then add the sprouts to warm through—this keeps them crisp.
I like to portion the sauce separately so you can drizzle it fresh when reheating. Add a splash of water or low-sodium chicken broth if the sauce thickens too much during storage. ⏰
Nutrition facts
Frequently asked questions
Can I use pre-cooked or frozen bean sprouts?
Fresh bean sprouts are ideal for that signature crunch, but if you must use frozen, thaw them completely first and pat them very dry. Stir-fry for 3-4 minutes instead of 2-3 to ensure they're heated through without turning mushy. For pre-cooked sprouts, skip the stir-frying step entirely and add them at the very end with the sauce.
How do I prevent the beef from getting chewy?
Slice the beef thinly against the grain—this is the #1 tip for tenderness! Also, don't overcook it: remove from heat when it reaches 145°F internally (just slightly pink). For extra juiciness, add 1 tsp cornstarch to the sauce before tossing with the beef—it helps tenderize during cooking.
What's the best way to keep bean sprouts crisp?
Cook them last and only for 2-3 minutes—they should just wilt slightly, not soften. Use high heat and avoid overcrowding the pan. If they seem dry, add 1 tsp water and cover for 30 seconds to steam slightly, then uncover and finish cooking. Pat them dry before adding to the pan to remove excess moisture.
Can I make this dish ahead of time?
Yes! Cook the beef and sauce separately, then refrigerate in airtight containers for up to 3 days. Reheat the beef first, then add the sprouts and sauce together for 1-2 minutes to revive their crispness. For best results, store components separately and assemble fresh—this preserves texture and flavor.
What if I don't have sesame oil?
Use toasted peanut oil or avocado oil instead—both add depth without sesame flavor. For aroma, sprinkle ½ tsp toasted sesame seeds directly on the dish at the end. If avoiding nuts completely, use neutral oil and boost flavor with an extra ½ tsp garlic powder in the sauce.
