Main Courses
This beef and greens stir fry recipe delivers restaurant-quality results with wok-seared beef and crisp-tender bok choy—all in just 20 minutes. The secret lies in high-heat searing and precise timing, transforming tough cuts into melt-in-your-mouth tenderness while keeping the greens vibrant.
I’ve perfected this technique after years of testing, ensuring every bite balances rich beef with fresh, bright vegetables.
The key to success is proper protein prep: thinly sliced beef marinated in soy and cornstarch, then seared in a screaming-hot wok until caramelized on the outside. Meanwhile, the bok choy wilts just enough to stay crisp-tender, retaining its natural crunch.
A simple sauce—ginger, garlic, and a touch of sweetness—ties everything together without overpowering the natural flavors.
What you’ll end up with is a dish that’s foolproof yet impressive, packed with texture and flavor. The beef stays juicy and tender, the bok choy offers a satisfying crunch, and the sauce adds depth without being heavy.
It’s the kind of meal that feels like a chef’s creation but comes together in your home kitchen.
Serve this stir fry over steamed rice for a complete, balanced meal—perfect for weeknights or meal prep. The technique scales easily, so you can adjust the portion size without sacrificing quality. Let’s get cooking!
Ingredients for beef and greens stir fry
Restaurant-quality beef and greens stir fry starts with these 15 ingredients—simple but precise for perfect wok-seared texture and vibrant greens.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against the grain |
| Bok Choy 🥬 | 2 whole | Baby or regular, cut into quarters |
| Low-Sodium Soy Sauce 🍶 | ⅓ cup | For marinade and sauce |
| Cornstarch 🌾 | 2 tbsp | For velveting beef |
| Garlic Cloves 🧄 | 4 cloves | Minced for marinade and sauce |
| Fresh Ginger 🌿 | 1 tbsp | Grated, for sauce |
| Sesame Oil 🫒 | 1 tbsp | For aroma, not cooking |
| Neutral Oil 🫒 | 2 tbsp | Avocado or vegetable oil |
| Brown Sugar 🍯 | 1 tbsp | For sauce balance |
| Green Onions 🧅 | 3 whole | Sliced, for garnish |
| Sesame Seeds 🌱 | 1 tbsp | Toasted, for garnish |
| White Rice 🍚 | 1 ½ cups | Uncooked, for serving |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Red Pepper Flakes 🔥 | ½ tsp | Optional for heat |
The beef makes or breaks this dish, so flank steak is non-negotiable—it’s lean but tender when sliced thin. Look for a cut with good marbling at Whole Foods or your butcher shop. I always buy organic when possible, but regular works fine. Slice it against the grain for maximum tenderness—1/8-inch thick slices is ideal. If you can’t find flank steak, sirloin or skirt steak work too, but slice them thinner. Bok choy? Baby bok choy stays crisp-tender longer, but regular works if you cook it faster. Rinse it well to remove dirt from the roots.
Low-sodium soy sauce is key—Kikkoman or Pearl River Bridge are my go-tos, but any low-sodium brand works. No cornstarch? Arrowroot powder at the same amount does the trick. For the sauce, fresh ginger and garlic are non-negotiable—dried or jarred won’t give the same punch. Sesame oil adds aroma but burns easily, so add it last. Short on brown sugar? Honey or maple syrup at half the amount works in a pinch. The green onions? Freeze the whites separately—they’re perfect for garnishing other dishes later. And if you’re skipping the red pepper flakes, a dash of sriracha in the sauce adds heat without altering texture.
Prep the beef and bok choy first—they’ll keep in the fridge for 1-2 days if sealed tightly. The marinade stays fresh for 3 days, but the sauce is best made fresh (takes 2 minutes). Store leftovers in airtight containers for up to 3 days, but reheat gently—the beef dries out fast. For meal prep, portion the sauce separately and toss with cold rice and stir-fry just before eating. The rice? Day-old rice reheats better—it’s less sticky and absorbs flavors like a dream.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this for nights when I’d rather not scrub a dozen dishes. Toss everything—steak, bok choy, garlic—into one hot pan, and the cornstarch-coated beef caramelizes while the greens wilt. Boom. Done.
- Umami Bomb: That low-sodium soy sauce? It’s the secret weapon here. The beef gets this deep, savory glaze, and the bok choy soaks up just enough to make every bite taste like a little flavor explosion. Honestly, my picky-eater husband devours it.
- Leftover Hero: Make a double batch on Sunday, and you’ve got lunch covered all week. The flavors actually improve the next day—steak gets more tender, sauce clings better. Microwave it or reheat in a skillet; either way, it’s still a winner.
- Budget Steakhouse Vibes: Flank steak is affordable, and a pound stretches across two big servings. The garlic and soy sauce stretch the flavor further, so you’re getting restaurant-quality taste without the price tag. (Yes, even on a Tuesday night.)
Step-by-step instructions for wok-seared beef with bok choy
Here's how to achieve perfectly tender beef and crisp-tender greens with a balanced sauce every time.
Prepare the Beef for Velveting
Slice the 1 lb flank steak thinly against the grain into ¼-inch thick strips. Place them in a bowl and add the 2 tbsp cornstarch, ½ tsp salt, and ¼ tsp black pepper. Toss gently to coat evenly - the cornstarch will create that signature tender texture. Let the beef sit for 15 minutes at room temperature while you prep the rest.
This velveting process is what transforms tough flank steak into melt-in-your-mouth slices. The cornstarch absorbs moisture and creates a protective barrier during cooking. Don't skip this step - it's what makes this stir fry so special. While waiting, cut the 2 whole bok choy into quarters and slice the 3 green onions, separating the whites and greens.
Cook the Rice and Prepare the Sauce Base
Rinse the 1.5 cups white rice thoroughly until the water runs clear, then cook according to package instructions. While it cooks, make your sauce by combining the ⅓ cup low-sodium soy sauce, 1 tbsp brown sugar, 1 tbsp sesame oil, 1 tbsp grated fresh ginger, and 4 minced garlic cloves in a small bowl. Set aside - this will infuse beautifully while you cook the beef.
The rice should be perfectly fluffy and slightly undercooked at the end (it'll finish steaming with the hot stir fry). For the sauce, I like to use low-sodium soy sauce to control salt levels - you can always add more later if needed. The ginger and garlic will mellow as they cook, adding depth without overpowering.
Wok-Sear the Beef to Perfection
Heat a wok or large skillet over high heat until smoking, then add the 2 tbsp neutral oil. Working in batches if needed, add the cornstarch-coated beef strips and sear for 1-2 minutes per side until deep golden brown and cooked through. Remove and set aside, keeping warm.
This high-heat searing creates the perfect crust while keeping the interior tender. Don't overcrowd the pan - you want those beef strips to sizzle and develop color. If they release easily from the pan, they're ready. The beef should be just cooked through but still slightly pink in the center - it'll finish cooking when combined with the sauce.
Stir-Fry the Bok Choy and Combine
In the same wok, add a bit more neutral oil if needed and stir-fry the bok choy quarters for 2-3 minutes until the stems are bright green and slightly charred while the leaves remain crisp-tender. Add the beef back to the wok along with the prepared sauce and toss everything together for 1-2 minutes until everything is evenly coated.
The bok choy should be vibrant and just tender enough to pierce with a fork - you want that satisfying crunch in every bite. The beef will absorb the sauce beautifully, creating a perfect balance of flavors. If the sauce seems too thick, add 1-2 tablespoons of water to loosen it slightly while tossing.
Finish and Serve Immediately
Garnish the stir fry with the sliced green onion whites and greens, then sprinkle with 1 tbsp toasted sesame seeds and ½ tsp red pepper flakes if using. Serve the beef and bok choy immediately over the cooked rice, letting everyone spoon the flavorful sauce over their portions.
This dish is best served fresh from the wok when everything is hot and vibrant. The contrast of tender beef, crisp-tender bok choy, and fluffy rice creates the perfect balance. Leftovers can be refrigerated for up to 2 days, but they won't taste quite as fresh - this stir fry truly shines when served immediately.
Pro Tips For Making Beef And Greens Stir Fry
- Slice Thin, Not Perfect: I learned this the hard way—flank steak fights you if you try to slice it paper-thin against the grain. Instead, cut it thick (about ¼-inch) first, then slice diagonally with the grain after cooking. Yes, it’ll look uneven, but it’ll stay tender and chewable. (Your knife will also thank you.)
- Prep Bok Choy Like a Pro: Don’t just chop those stalks randomly. Split the thick base in half lengthwise, then slice the stalks into ½-inch pieces while leaving the leaves intact. This keeps them from turning mushy—something that happens fast when you overcrowd the pan. And yes, even if you’re impatient like me.
- Marinate the Steak—But Not Too Long: A quick 10-minute soak in soy sauce, garlic, and a splash of water (plus cornstarch) is enough to tenderize without turning the meat to mush. I used to let it sit for hours, and the steak ended up tough. Trust me, 10 minutes is the sweet spot—just enough flavor, no regret.
- Finish with a Splash of Water: Right when your stir-fry looks dry, add 2 tablespoons of water and toss everything together. The heat will evaporate it instantly, but it’ll steam the bok choy just enough to keep it crisp, not soggy. Sounds weird, but it works—especially when you’re racing against the clock.
Pro cooking tips for this dish
High-Heat Mastery
Your wok or skillet needs to be smoking hot—that’s the only way to get that perfect wok-seared crust on the beef. I use a carbon steel wok (like Mauviel) because it retains heat better than cast iron, but a heavy stainless steel skillet works too.
Preheat it for 3-5 minutes on high heat until a drop of water sizzles instantly. If your pan isn’t hot enough, the beef will steam instead of sear, making it tough. 🔥
Batch Cooking
Never overcrowd your pan—this is the #1 mistake that ruins stir fries. Cook the beef in 2 batches if needed, giving each batch 1-2 minutes per side until deeply browned. Overcrowding lowers the pan’s temperature, causing the beef to release moisture instead of caramelizing.
Keep the cooked beef warm in a bowl while you finish the rest. The residual heat will keep it tender.
Bok Choy Timing
Bok choy cooks in a flash—2-3 minutes max—so have everything ready before you start. Cut it into quarters and work quickly: stems first (they take longer), then the leaves. The goal is crisp-tender, not mushy.
If your greens wilt too fast, your pan isn’t hot enough. Toss them with a little oil first to prevent sticking, then stir-fry until the edges just turn bright green. ✨
Sauce Integration
Add the sauce at the very end—just 1-2 minutes before serving. This prevents the beef from absorbing too much liquid and becoming soggy. If your sauce seems too thick, loosen it with 1 tbsp water or beef broth while tossing.
The sauce should coat the beef lightly, not drown it. Taste as you go and adjust with a pinch of salt or brown sugar if needed.
Garnish Like a Pro
Toast your sesame seeds in a dry pan for 30 seconds until fragrant—this adds depth beyond just sprinkling raw seeds. Use the green onion whites for garnish (they’re milder and sweeter), and chop the greens finely for a pop of color.
A pinch of red pepper flakes adds heat without overpowering. These finishing touches elevate the dish from good to restaurant-worthy. 💫
Leftovers Strategy
If you must reheat, do it stovetop only—microwaving ruins the texture. Add 1 tbsp water or sauce to the pan and heat on medium-low for 2-3 minutes**, stirring constantly. The beef will dry out if overcooked, so keep an eye on it.
For best results, serve fresh or portion the sauce separately and toss with cold rice and reheated beef just before eating.
Nutrition facts
Frequently asked questions
What's the best cut of beef for stir fry?
Use flank steak or sirloin—they're lean but tender when sliced thin against the grain. The key is ¼-inch thick slices that cook quickly in high heat. Avoid tougher cuts like chuck; they won't get tender enough in the short stir-fry time.
Can I substitute bok choy with other greens?
Try baby spinach (cooks in 1 minute) or broccoli florets (cut small, stir-fry 3-4 minutes). For heartier greens like kale, blanch first to soften. Bok choy's mild flavor and quick cooking make it ideal, but these work too.
Why is my beef tough after stir-frying?
Overcooking or not slicing against the grain are the usual culprits. Always sear beef at high heat for just 1-2 minutes per side—it should be slightly pink inside. If using thicker slices, cook them 1 minute less to prevent toughness.
How do I make this gluten-free?
Replace soy sauce with tamari or coconut aminos (use same amount). For the cornstarch coating, try arrowroot powder instead. The velveting technique remains identical—just ensure your sauce is gluten-free too.
Can I prep this ahead of time?
Yes! Marinate the beef up to 24 hours ahead and store in the fridge. Prep the sauce and chop veggies the night before. Cook the beef and bok choy fresh—reheat gently on the stovetop with 1 tbsp sauce to revive the flavors.
