Main Courses
This beef and spinach stir fry delivers restaurant-quality tenderness in just 20 minutes—no takeout required. The secret lies in quick marinating the beef to break down fibers, then searing it at high heat until perfectly browned.
I developed this recipe after years of testing, and it consistently delivers melt-in-your-mouth beef with vibrant, garlicky spinach that stays crisp-tender.
What sets this stir fry apart is the balance of flavors: savory beef, bright garlic, umami soy sauce, and the natural sweetness of spinach.
The technique is simple but critical—high heat in a wok or cast-iron skillet creates that signature wok-hei (breath of the wok), while proper timing ensures the spinach remains vibrant. This dish is designed to work with basic pantry staples while delivering restaurant-quality results.
The outcome is a dish that's rich yet light, with perfectly cooked beef strips and spinach that's just wilted enough to maintain its texture. The sauce clings to every bite, creating a harmonious blend of sweet, salty, and umami flavors.
Serve it over steamed jasmine rice or noodles for a complete meal that's both satisfying and balanced.
Optional garnishes like toasted sesame seeds or red pepper flakes add texture and heat, while fresh cilantro brings a bright finish. This stir fry is versatile enough for weeknight dinners or weekend gatherings, and it reheats beautifully for leftovers. Let's get started on creating this flavorful, tender dish.
Ingredients for beef and spinach stir fry
Basic ingredients that transform into restaurant-quality stir fry in minutes.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against grain |
| Fresh Spinach 🌿 | 8 oz | Baby spinach preferred |
| Garlic Cloves 🧄 | 4 cloves | Minced for marinade |
| Ginger Root 🌿 | 1 tbsp | Freshly grated |
| Soy Sauce 🥄 | ½ cup | Low-sodium preferred |
| Sesame Oil 🫒 | 1 tbsp | Toasted sesame oil |
| Honey 🍯 | 1 tbsp | For balance |
| Vegetable Oil 🫒 | 2 tbsp | High smoke point |
| Cornstarch 🌾 | 1 tbsp | For tenderizing beef |
| Green Onion 🧅 | 2 whole | Sliced for garnish |
| Toasted Sesame Seeds 🌾 | 1 tsp | For garnish |
| Red Pepper Flakes 🌶️ | ½ tsp | Optional for heat |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The beef is everything here. Flank steak delivers that signature stir-fry tenderness when sliced thinly against the grain. Costco or Whole Foods carry excellent cuts—look for good marbling and vibrant color. If you can't find flank, sirloin or ribeye work too, but slice them extra thin. The spinach? Baby spinach holds up better than regular, but any fresh spinach works. For the garlic and ginger, fresh is non-negotiable—dried just won't give that bright, aromatic punch this dish needs. I always double-check my soy sauce is low-sodium, especially if I'm using it as the base for the sauce.
No flank steak? Chicken breast or shrimp work beautifully as substitutes, but adjust cooking time. Fresh spinach wilted too early? Use frozen spinach—thaw and drain well before adding. The marinade of soy sauce, sesame oil, and honey is where the magic happens. Substitute coconut aminos for soy sauce if you're avoiding gluten, but the flavor will be slightly different. For extra richness, add a splash of oyster sauce—it's a game-changer. The cornstarch isn't just for thickening; it helps tenderize the beef during the quick marinade. If you're out, arrowroot powder works too. For garnish, cilantro is my go-to, but green onions or basil work just as well.
This dish reheats beautifully—just add a splash of water or broth to the pan and warm through. Keeps for 3-4 days in the fridge, or freeze for up to 3 months in airtight containers. I always make extra because it tastes even better the next day as flavors meld. For meal prep, portion into containers with rice—just reheat in the microwave for 2-3 minutes. The sesame seeds and red pepper flakes can be added fresh after reheating to keep them crisp. Store the sauce separately if making ahead—it's the heart of the dish, and you'll want it bright and flavorful.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this—just one pan, no fussing with multiple dishes. The spinach wilts in seconds while the steak sears right alongside, and that garlic-ginger punch infuses everything in minutes. Honestly, my countertop stays cleaner than a Sunday morning.
- Umami Bomb: That first bite? The soy sauce and ginger turn the flank steak into something dangerously tender, while the spinach soaks up all the savory goodness. Between us, I’ve tried store-bought versions—this tastes like a restaurant dish, not a takeout hack.
- Lunchbox Hero: Make a big batch on Sunday, and you’ve got weeknight dinners covered. The flavors actually improve the next day—yes, really. My kids grab it for school lunches, and my husband sneaks seconds when he thinks I’m not looking.
- Budget Powerhouse: Flank steak stretches far when sliced thin, and spinach is one of the cheapest greens out there. I’ve fed four people for under $15, and we all walk away happy. Plus, leftovers reheat like a dream—no soggy stir-fry here.
Step-by-step instructions for wok-heated beef with garlicky greens
Master this stir-fry technique to achieve restaurant-quality tenderness and vibrant flavors.
Tenderize and Marinate the Flank Steak
Place the 1 lb flank steak on a cutting board and slice it thinly against the grain into ¼-inch thick strips. This step is crucial for tenderness—thin slices cook quickly and evenly. Transfer the sliced steak to a bowl and add the 1 tbsp cornstarch, 1 tsp salt, and 0.5 tsp black pepper. Toss gently to coat the beef evenly with the cornstarch mixture.
In a separate small bowl, whisk together the 0.5 cup soy sauce, 1 tbsp honey, 1 tbsp sesame oil, 1 tbsp freshly grated ginger root, and 4 minced garlic cloves. Pour this marinade over the cornstarch-coated beef and mix thoroughly. Let the steak marinate for at least 15 minutes (up to 30 minutes for deeper flavor). The cornstarch helps tenderize while the marinade infuses the beef with bold flavors.
Stir-Fry the Beef to Perfect Doneness
Heat a wok or large skillet over high heat until it's very hot. Add the 2 tbsp vegetable oil and swirl to coat the bottom evenly. Once the oil shimmers, add the marinated beef in a single layer, spreading it out so it doesn't overcrowd. Cook undisturbed for 1-2 minutes until the edges begin to brown and the beef releases easily from the pan.
Stir-fry the beef continuously for another 2-3 minutes until it reaches medium-rare doneness (internal temperature of 135°F). The beef should be tender but still slightly pink in the center. Remove the beef from the wok and set it aside on a plate, tented loosely with foil to keep warm. Don't skip this resting step—it allows the juices to redistribute for maximum tenderness.
Cook the Garlicky Spinach
In the same wok, add a splash of the reserved beef marinade (about 1 tablespoon) and swirl to deglaze the pan, scraping up any browned bits. Add the 8 oz fresh spinach in batches, stirring constantly until just wilted—this should take about 1-2 minutes. The spinach should be bright green and tender-crisp, not mushy. Remove the spinach from the wok and set it aside with the beef.
Return the wok to high heat and add the remaining 1 tablespoon of sesame oil. Add the 2 sliced green onions and stir for 30 seconds until fragrant. If you prefer some heat, sprinkle in the 0.5 tsp red pepper flakes and stir for another 10 seconds to toast the flakes slightly.
Combine and Finish with Toasted Sesame Seeds
Return the beef and spinach to the wok, tossing everything together gently to combine. Cook for an additional 1 minute to heat through and allow the flavors to meld. The dish should be hot and sizzling, with the beef still retaining its juices. Taste and adjust seasoning if needed—you may need a pinch more salt or a splash of soy sauce to balance flavors.
Remove the stir-fry from heat and sprinkle with the 1 tsp toasted sesame seeds. These seeds add a nutty aroma and beautiful visual contrast. Serve immediately over steamed rice or noodles, ensuring each serving gets a generous portion of the beef and spinach mixture. The dish should be vibrant, aromatic, and packed with wok-heat flavor.
Pro Tips For Making Beef And Spinach Stir Fry
- Slice Against the Grain: Flank steak’s tough when cut with the grain—slice it perpendicular to the muscle fibers (about ¼-inch thick) for tender bites. I learned this the hard way after chewing through a stubborn piece; now I mark the grain with my knife first.
- Wilt Spinach Fast: Toss fresh spinach in after the beef and garlic are cooked—just 30 seconds in the hot pan wilts it perfectly without turning it to mush. I used to add it earlier and ended up with sad, limp leaves every time.
- Rest the Meat: Let sliced flank steak sit 5 minutes before stir-frying—it relaxes the fibers and keeps it juicy. I skipped this once and got dry, tough strips; now I treat it like a steakhouse rule.
- Use Toasted Ginger: Grate fresh ginger thin (about 1 teaspoon) and fry it in the oil for 10 seconds until fragrant—it adds depth without bitterness. I was skeptical until I tried it; now it’s non-negotiable for flavor.
Make-ahead tips for this dish
Prep Ahead Components
Marinate the beef 24 hours in advance for maximum flavor infusion. Store the beef strips in an airtight container with the marinade in the refrigerator. This jumpstarts the tenderizing process and makes assembly a breeze.
I always do this on Sunday nights so the beef is ready for quick weeknight meals. 🌟
Sauce Separation
Prepare the sauce separately and store it in a small airtight container. The sauce is the heart of the dish, and keeping it fresh ensures vibrant flavors. I like to make a double batch and freeze half for future use.
When ready to cook, simply combine the sauce with the beef and spinach during the final stir-fry step.
Spinach Prep
Wash and dry the spinach thoroughly, then store it in a resealable plastic bag lined with a paper towel to absorb excess moisture. This prevents soggy spinach when you're ready to cook.
I keep the spinach in the fridge for up to 3 days—it stays fresh and crisp for quick stir-fry assembly. 🌿
Rice Ready
Cook a large batch of jasmine rice and store it in an airtight container. This staple base is essential for serving the stir-fry. I find that rice reheats beautifully in the microwave—just add a splash of water and cover for 1-2 minutes.
For extra flavor, you can even marinate the rice with a little soy sauce and sesame oil before cooking.
Final Assembly
When you're ready to cook, simply heat your wok, stir-fry the pre-marinated beef, and add the fresh spinach. The sauce can be warmed separately or combined at the end. This method ensures everything is hot and ready in under 15 minutes.
The key is keeping all components separate until the last moment to maintain texture and temperature. ✨
Freezer-Friendly Option
For a complete make-ahead solution, cook the beef and spinach separately, then freeze them in individual portions. Store the sauce separately in a small container. When ready to eat, thaw the beef and spinach in the fridge overnight, then reheat everything together in the wok.
This method works perfectly for busy weeknights or meal prep Sundays. ❄️
Nutrition facts
Frequently asked questions
Can I use frozen spinach instead of fresh?
Yes, but with one key adjustment: thaw and drain frozen spinach thoroughly before adding it to the wok. Use about half the amount (4 oz instead of 8 oz) since frozen spinach releases more moisture. Add it at the very end of cooking to prevent sogginess, and stir-fry for just 30 seconds to heat through.
What's the best cut of beef for stir-fry?
The ideal cuts are flank steak, sirloin, or ribeye—they're flavorful and tender when sliced thinly against the grain. Avoid tougher cuts like chuck roast. If using pre-sliced stir-fry beef from the grocery store, skip the marinating step and just sear it for 1-2 minutes total.
How do I prevent the beef from getting chewy?
Three critical steps:
- Always slice against the grain,
- Use cornstarch in the marinade, and
- Cook at high heat for no more than 3 minutes. Overcrowding the pan or low heat causes chewiness. For extra tenderness, let the beef rest 5 minutes after cooking before serving.
Can I make this gluten-free?
Replace soy sauce with coconut aminos or tamari (gluten-free soy sauce). The flavor will be slightly different but still delicious. Keep the honey and sesame oil as-is—they're naturally gluten-free. For extra umami, add 1 tbsp gluten-free fish sauce to the marinade.
What if I don't have a wok?
No problem! Use a cast-iron skillet or large stainless steel pan—they work just as well. The key is maintaining high heat. If your pan isn't wide enough, cook the beef in batches. A nonstick pan works too, but avoid overcrowding to prevent sticking. The same technique applies!
