Main Courses
This beef and zucchini stir fry delivers restaurant-quality umami and crunch in just 20 minutes, transforming simple ingredients into a vibrant, flavor-packed meal. The secret lies in high-heat wok techniques that create caramelized beef and tender-crisp zucchini, all while balancing sweet, salty, and savory notes perfectly.
I've perfected this recipe after years of testing—no takeout needed when you can achieve this at home.
The process is straightforward but requires attention to heat control and timing. Start by marinating thinly sliced beef in a simple soy-ginger sauce, then sear it in a hot wok until perfectly browned.
Add julienned zucchini at the right moment to maintain its crisp-tender texture, and finish with a splash of sesame oil for aromatic depth. The result is a dish that's both satisfying and quick, making it ideal for weeknight dinners.
What you'll end up with is a plate of golden-brown beef and bright green zucchini, coated in a glossy sauce that's rich yet light. The textures contrast beautifully—crisp edges on the zucchini, tender beef, and a sauce that clings perfectly.
This stir fry is hearty enough to stand alone but pairs well with steamed rice for a complete meal.
Whether you're feeding a family or cooking for two, this recipe scales effortlessly. The flavors develop as you cook, so don't rush the process—let the ingredients shine. Ready in under 20 minutes, this stir fry proves that a well-executed home meal can rival any restaurant dish. Let's get started!
Ingredients for beef and zucchini stir fry
Restaurant-quality stir fry starts with these 14 ingredients—simple but transformative.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against grain |
| Medium Zucchini 🥒 | 4 whole | Julienned into matchsticks |
| Low-Sodium Soy Sauce 🍶 | ⅓ cup | Kikkoman preferred |
| Sesame Oil 🫒 | 1 tbsp | Toasted, not flavored |
| Fresh Ginger 🌿 | 1 tbsp | Grated, aromatic |
| Garlic Cloves 🧄 | 4 cloves | Minced, pungent |
| Brown Sugar 🍯 | 1 tbsp | Light or dark |
| Neutral Oil 🫒 | 2 tbsp | Avocado or vegetable |
| Sesame Seeds 🌾 | 1 tbsp | Toasted for garnish |
| Green Onions 🧅 | 2 whole | Sliced, white and green |
| Cornstarch 🌾 | 1 tbsp | For tenderizing beef |
| Red Pepper Flakes 🌶️ | ½ tsp | Adjust for heat |
| White Pepper 🌶️ | ¼ tsp | Freshly cracked |
| Salt 🧂 | 1 tsp | Kosher or sea |
The flank steak is non-negotiable—it's lean, flavorful, and slices beautifully against the grain. Look for well-marbled cuts at the meat counter, and ask for it pre-sliced if your butcher won't do it. Costco or Whole Foods usually carry pre-sliced flank steak in the frozen section, which saves time. For zucchini, grab the straight, dark green ones—they're more flavorful than the bulbous, pale varieties. If you can't find fresh ginger, substitute 1 tsp ground ginger, but the fresh version has that zesty punch that's essential here. The soy sauce matters too—Kikkoman or Pearl River Bridge are my go-tos, but any low-sodium brand works if you reduce the salt later.
No sesame oil? Toasted peanut oil works in a pinch, though it'll have a different aroma. Short on brown sugar? Honey or maple syrup at half the amount keeps things balanced. The cornstarch is key for that silky beef texture—don't skip it. If you're feeling adventurous, swap the red pepper flakes for Sichuan peppercorns (toasted and crushed) for a numbing, citrusy kick. The green onions add freshness, but baby bok choy or scallions work just as well. For extra umami, add 1 tsp fish sauce to the marinade—trust me, it elevates everything. And if you're cooking for a crowd, double the batch—this recipe scales perfectly.
Prep ahead to save time: slice the beef and zucchini, then store separately in airtight containers for up to 2 days. The marinade keeps for 3 days in the fridge, so make extra for another quick meal. This stir fry reheats beautifully—just add a splash of water and toss in the wok over high heat. For leftovers, store in glass containers to keep flavors vibrant. Freezes well for 2 months, though the zucchini gets softer after thawing. Serve over jasmine rice for the full experience—it soaks up all that delicious sauce.
Why You'll Love This Recipe
- No-Fuss Prep: I swear by this one—just slice the zucchini into half-moons (no peeling!), thinly cut the steak against the grain, and toss in the wok. The ginger and soy sauce do all the heavy lifting while you chop.
- Umami Bomb: That first hit of sesame oil hitting the hot pan? Pure magic. The flank steak stays juicy with a caramelized crust, and the zucchini absorbs just enough sauce to be tender but still crisp. Honestly, it’s the kind of dish that makes you want to eat straight from the pan.
- Weeknight to Date Night: Same ingredients, totally different vibes. Serve it over rice for a quick Tuesday dinner, or drizzle with a fried egg and sriracha for a fancy-ish weekend meal. My husband actually called it "restaurant quality" once—don’t tell him I’m bragging.
- Leftovers That Don’t Suck: Unlike stir-fries that turn soggy, this one reheats like a dream. The steak stays tender, the zucchini holds its shape, and the ginger-sesame flavor only gets deeper. I’ve packed it for lunch three times this week—no complaints.
Step-by-step instructions for beef and zucchini stir fry
Here's how to deliver restaurant-quality stir fry with tender beef and crisp-tender zucchini in just 20 minutes.
Prep the Flank Steak for Maximum Tenderization
Place the 1 lb flank steak between two sheets of plastic wrap. Using a meat mallet, pound it to an even ¼-inch thickness—this ensures even cooking. The grain direction matters: slice against it after pounding to create tender, bite-sized strips. In a small bowl, combine 1 tbsp cornstarch, 1 tsp salt, 0.25 tsp white pepper, and 0.5 tsp red pepper flakes. Rub this mixture all over the steak, pressing it into the meat so it adheres completely. Let it sit for 15 minutes at room temperature while you prep the rest.
This marinade does double duty: the cornstarch creates a protective crust that keeps the beef juicy, while the spices infuse flavor. Don't skip the resting time—it prevents cold spots in the center that could make the meat tough. When ready, slice the steak into ¼-inch thick strips against the grain and set aside.
Prep the Vegetables for Perfect Texture
Using a mandoline or sharp knife, julienne the 4 whole medium zucchini into ¼-inch matchsticks. You'll want about 4 cups total—this ensures they cook quickly without turning mushy. Cut the 2 whole green onions into 1-inch pieces, separating the white and green parts. Peel and finely mince the 4 garlic cloves and grate the 1 tbsp fresh ginger using a microplane or fine grater. The goal here is even-sized pieces that all cook at the same rate.
I like to toss the zucchini in a bowl with a pinch of salt while I prep the rest—this draws out excess moisture so they stay crisp during cooking. Keep the vegetables separate until you're ready to stir fry, as they'll release water that could make the beef soggy if combined too early.
Build Flavor with the Sauce Base
In a small bowl, whisk together the 0.33 cup low-sodium soy sauce, 1 tbsp brown sugar, 1 tbsp sesame oil, and 1 tbsp toasted sesame seeds. Set aside—this will be your finishing sauce. In a 14-inch wok or large skillet, heat 2 tbsp neutral oil over high heat until shimmering. Add the minced garlic and ginger, stirring constantly for 30 seconds until fragrant—this prevents burning while building flavor. Immediately add the white parts of the green onions and cook for another 20 seconds until just golden.
Watch the heat carefully here—the aromatics should sizzle but not brown. If they darken too quickly, reduce the heat slightly. This step is all about layering flavor without overpowering the beef and zucchini. The residual oil from the aromatics will help create that signature wok-hei (breath of the wok) finish we're after.
Cook the Beef in Batches for Maximum Crispness
Working in batches if needed, add the beef strips to the wok in a single layer. Let them sear undisturbed for 1-2 minutes until they develop a deep brown crust on one side. This initial sear locks in juices and builds flavor. Stir and repeat until all sides are browned—about 3-4 minutes total. Remove the beef and set aside, keeping it warm.
Here's where timing matters: the beef should be 85% cooked at this stage. It'll finish cooking when everything comes back together. If your wok isn't hot enough, the beef will steam instead of sear. You'll know it's ready when the edges are crispy and the center still has a slight pink hue.
Finish with Zucchini and Sauce for Perfect Balance
Add the zucchini matchsticks to the wok in a single layer. Stir-fry for 1-2 minutes until they just begin to soften at the edges but still retain their crisp texture. This is crucial—they should have a satisfying crunch, not be limp. Add the beef back to the wok along with the reserved sauce and green onion greens. Toss everything together vigorously for 1-2 minutes until the sauce coats the beef and zucchini evenly.
Taste and adjust seasoning—you might need a splash more soy sauce if the zucchini absorbed some of the liquid. The dish should be balanced: sweet from the brown sugar, umami from the soy sauce, with a hint of spice from the red pepper flakes. Serve immediately over steamed rice, garnished with extra sesame seeds if desired. The combination of tender beef, crisp-tender zucchini, and glossy sauce makes this stir fry a weeknight winner.
Pro Tips For Making Beef And Zucchini Stir Fry
- Slice Steak Against the Grain: I learned this the hard way—cutting flank steak with the grain turns it into chewy rubber. Grab a sharp knife, angle it at 45 degrees, and slice perpendicular to the muscle fibers. Thin strips (¼-inch thick) cook faster and stay tender, even when stir-fried.
- Blanch Zucchini First: Skip the soggy mess by blanching zucchini slices in boiling water for 30 seconds, then shock in ice water. This softens them just enough to caramelize later without turning to mush—especially important if you’re using thick slices. (Yes, even if you’re impatient like me.)
- Use Two Stages of Heat: Start flank steak in a screaming-hot pan to sear the exterior, then pull it out and lower the heat to medium-high for the stir-fry. High heat at the end will dry it out; medium-high keeps it juicy while finishing the sauce. Trust the process—your future self will thank you.
- Grate Ginger Fine: Fresh ginger adds depth, but chunky pieces burn before releasing flavor. Use a microplane or the smallest holes on a grater for a paste-like texture. Add it last to the pan—this way, it infuses the oil without turning bitter. (I was skeptical until I tried it.)
Flavor customization for this recipe
Spice Level Control
Adjust the heat to your preference by modifying the red pepper flakes or adding other chili elements. For a mild kick, reduce to ¼ tsp or swap for ½ tsp mild paprika. Want serious heat?
Add 1 tsp gochujang (Korean chili paste) to the sauce or toss in ½ tsp crushed Sichuan peppercorns with the beef. I've found that 1 tsp chili crisp (like Lao Gan Ma) at the end adds smoky depth without overpowering.
Sweet-Savory Balance
Play with the sweetness by adjusting the brown sugar or adding complementary ingredients. For caramelized notes, increase to 2 tbsp brown sugar or substitute with 1 tbsp honey + 1 tsp soy sauce.
For umami depth, add 1 tsp fish sauce or 1 tbsp oyster sauce to the finishing sauce. I love adding 1 tsp toasted sesame paste for nutty complexity—it's a game-changer for texture and flavor.
Vegetable Variations
Swap or add vegetables to customize the dish. Bell peppers (red or yellow) add sweetness and color—slice into ¼-inch strips and cook with the zucchini. For heartiness, include ½ cup shredded carrots or ½ cup snap peas.
I often add ½ cup sliced mushrooms (shiitake or cremini) for extra umami. Remember: keep pieces uniform so they cook evenly. If adding water-rich veggies like tomatoes, add them last to prevent a soggy stir fry.
Protein Swaps
Use alternative proteins while keeping the technique intact. For seafood lovers, swap beef for 1 lb shrimp (peeled and deveined) or 1 lb firm tofu (pressed and cubed). Chicken works too—use 1 lb boneless thigh meat, sliced thinly.
For vegetarian, try 1 lb king oyster mushrooms (sliced lengthwise) or 1 lb extra-firm tofu. For tofu, marinate in ¼ cup soy sauce + 1 tbsp cornstarch for 15 minutes before cooking.
Sauce Enhancements
Elevate the sauce with unexpected additions. Stir in 1 tbsp hoisin sauce for a thicker, sweeter profile. Add 1 tsp rice vinegar for brightness or 1 tsp toasted peanut butter for richness. For a creamy twist, mix 1 tbsp coconut milk into the sauce at the end.
I also love finishing with 1 tsp lime juice to cut through the richness—it's a bright, tangy contrast that makes the dish sing. 💫
Nutrition facts
Frequently asked questions
Why does the recipe call for slicing beef against the grain?
Slicing flank steak against the grain breaks up the muscle fibers, making each bite more tender. The grain runs diagonally across the meat—look for the direction of the muscle fibers when you pound the steak. Cutting perpendicular creates shorter fibers that cook faster and yield a melt-in-your-mouth texture. Skipping this step results in chewy beef, even with proper cooking times.
Can I use a regular skillet instead of a wok?
Yes, but you'll need to adjust the technique slightly. A 12-inch cast iron skillet works well—just use high heat and keep the pan moving constantly to prevent burning. The key is maintaining that high-heat sear without letting ingredients pile up. For best results, work in smaller batches if needed to keep the pan hot throughout cooking.
What if my zucchini turns mushy instead of crisp-tender?
Mushy zucchini happens when they cook too long or are overcrowded in the pan. To fix this, cook in batches if needed and stir-fry for only 1-2 minutes until just tender. Also, be sure to pat them dry before cooking—excess moisture steams the veggies instead of searing them. For extra crunch, add the zucchini last and cook for just 30 seconds after the beef returns to the pan.
How do I prevent the beef from drying out?
The cornstarch coating is your secret weapon—it creates a protective barrier that locks in moisture. Keep the beef moving constantly in the pan and avoid overcooking. Remove it when it reaches 160°F internally (or has a slight pink center), then finish cooking with the vegetables. For extra insurance, add 1 tbsp water or broth to the pan when tossing everything together at the end.
What's the best way to reheat leftovers?
Reheat in the wok over high heat for 2-3 minutes with a splash of water or soy sauce to restore moisture. Never microwave—it makes the zucchini soggy and the beef rubbery. For best texture, add fresh julienned zucchini and cook for 1 minute at the end to revive the crunch. The sauce will thicken slightly when reheated, so adjust with a few drops of water if needed.
