Main Courses
This beef and spinach stir fry recipe delivers restaurant-quality results in under 20 minutes—crisp-tender beef, vibrant wok-fried spinach, and a silky garlic-soy sauce that ties everything together. The secret lies in high-heat stir-frying, which locks in juices while creating that signature caramelized wok hei flavor. I've perfected this technique over years of testing, ensuring every bite delivers the perfect balance of savory, umami, and freshness.
The foundation of great stir fry is proper prep and timing. Thinly sliced beef cooks in minutes on high heat, while spinach wilts just enough to maintain its vibrant color. A quick marinade of soy sauce, garlic, and cornstarch ensures the beef stays tender while developing a light crust.
The sauce comes together in seconds with just a few pantry staples, creating that signature glossy finish that makes stir fry so irresistible.
What you'll end up with is a dish that's both quick and impressive—golden beef strips with crisp edges, bright green spinach that's still slightly crisp, and a sauce that clings perfectly to every bite.
The aroma alone will have everyone gathering around the table, and the first forkful delivers that perfect harmony of textures and flavors. This is the kind of weeknight dinner that feels special without requiring hours in the kitchen.
Serve it over steamed jasmine rice or noodles for a complete meal, or as a standalone dish when you're short on time. The beauty of stir fry is its versatility—it works for busy weeknights, meal prep, or even a quick lunch.
Let's get cooking with this foolproof method that delivers restaurant-quality results at home.
Ingredients for beef and spinach stir fry
Nine essential ingredients transform into restaurant-style stir fry in minutes—crisp beef, vibrant spinach, and silky sauce.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against grain |
| Baby Spinach 🌿 | 5 oz | Fresh, vibrant leaves |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Fresh Ginger 🌿 | 1 tbsp | Finely grated, peeled |
| Low-Sodium Soy Sauce 🍶 | ⅓ cup | Plus 1 tbsp for marinade |
| Cornstarch 🌾 | 2 tbsp | For beef marinade |
| Sesame Oil 🫒 | 1 tbsp | For aroma, not cooking |
| Neutral Oil 🫒 | 2 tbsp | Vegetable or canola |
| Green Onion 🧅 | 3 whole | Sliced, white and green parts |
| Jasmine Rice 🍚 | 1 cup | Uncooked, for serving |
| Salt 🧂 | ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ¼ tsp | Freshly ground |
| Honey 🍯 | 1 tsp | For sauce balance |
| Red Pepper Flakes 🌶️ | ½ tsp | Optional for heat |
The flank steak is non-negotiable here—it's lean, flavorful, and slices beautifully against the grain. Ask your butcher to slice it thinly if you're not up for the knife work, or freeze it for 30 minutes before slicing for easier cutting. I usually grab mine from Whole Foods or my local Asian market, where they often have it pre-sliced. For spinach, baby spinach holds up best to high heat—regular spinach wilts too fast. The garlic and ginger? Fresh is a must—dried just won't cut it for that bright, aromatic punch. If you're short on time, Trader Joe's sells pre-minced garlic that works in a pinch.
No soy sauce? Coconut aminos is the closest substitute, though it's slightly sweeter. Running low on cornstarch? Arrowroot powder works 1:1, but cornstarch gives that signature crisp-tender texture. The sesame oil is purely for aroma—don't cook with it, or it'll turn bitter. For extra depth, add a splash of rice vinegar to the sauce. The green onions can be subbed with scallions, and if you're feeling fancy, swap regular rice for jasmine rice—it's worth the few extra cents for that floral aroma that pairs perfectly with the dish. Want more heat? Double the red pepper flakes or add a dash of sriracha to the sauce.
Prep the beef marinade first—it needs 15-20 minutes to tenderize. Spinach keeps best in a sealed container in the fridge for up to 5 days, but use it within 2 days for peak freshness. The cooked stir fry reheats beautifully—just add a splash of water or soy sauce to the pan and stir-fry for 2-3 minutes. For meal prep, store components separately: cooked beef, sauce, and spinach. Assemble and reheat when ready to eat. The sauce thickens as it cools, so thin with a splash of water if it's too stiff when reheating. Leftovers keep for 3-4 days in the fridge.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this recipe—just the steak, spinach, and a splash of soy sauce in one pan. No chopping boards, no extra pots, and honestly? The cleanup is just rinsing a single spatula.
- Umami Bomb: That combo of ginger, garlic, and low-sodium soy sauce? It’s the kind of flavor that lingers. The steak gets this perfect caramelized crust, while the spinach wilts into silky, savory perfection.
- Weeknight to Date Night: I make this when I’m too tired for fancy meals, but it somehow feels special. Add a sprinkle of sesame seeds and serve with rice—suddenly, you’ve got a restaurant-worthy dish without the effort.
- Budget-Friendly Powerhouse: Flank steak stretches further than you’d think, and baby spinach is cheaper than you’d guess. Plus, leftovers reheat like a dream—pack it for lunch or freeze portions for those days when takeout feels too heavy.
Step-by-step instructions for beef and spinach stir fry
Master this quick wok technique for tender beef and vibrant spinach in under 30 minutes.
Prepare the Beef Marinade and Slice the Flank Steak
In a small bowl, combine the 0.33 cup low-sodium soy sauce, 2 tablespoons cornstarch, 1 teaspoon honey, 0.5 teaspoon salt, and 0.25 teaspoon black pepper. Whisk until the cornstarch dissolves completely, forming a smooth marinade. This mixture will tenderize the beef and create a glossy sauce.
Place the 1 pound flank steak on a cutting board and slice it thinly against the grain into ¼-inch thick strips. Arrange the sliced beef in a single layer on a plate and pour the marinade evenly over both sides. Let it marinate for at least 15 minutes, but no longer than 30 minutes—this ensures maximum tenderness without over-marinating, which can make the meat mushy. Pat the marinated beef dry with paper towels before cooking to promote better browning.
Cook the Jasmine Rice
Rinse the 1 cup jasmine rice under cold water until the water runs clear, then drain well. In a medium saucepan, combine the rice with 1.5 cups water and bring to a boil over high heat. Once boiling, reduce heat to low, cover with a tight-fitting lid, and let it simmer for 15 minutes. Remove from heat and let it steam, covered, for an additional 10 minutes. Fluff the rice gently with a fork before serving—this ensures each grain is separate and ready to absorb the stir-fry flavors.
While the rice cooks, prepare the aromatics by mincing the 4 cloves garlic and finely grating the 1 tablespoon fresh ginger. Set these aside—they'll form the flavor base for your stir-fry. The rice should be perfectly tender and slightly sticky, providing a neutral canvas that lets the beef and sauce shine.
Stir-Fry the Beef to Perfect Tenderness
Heat a wok or large skillet over high heat until it's very hot. Add the 2 tablespoons neutral 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 steam. Let it sear undisturbed for 1-2 minutes until the edges turn golden brown—this creates a flavorful crust while keeping the center tender.
Stir the beef with a pair of tongs or spatula, breaking it into bite-sized pieces as it cooks. Continue cooking for an additional 2-3 minutes until the beef is no longer pink in the center and has developed a caramelized sheen. Remove the beef from the wok and set it aside on a plate, leaving the rendered juices in the pan. This step is critical—overcooking will make the beef tough, while undercooking leaves it raw.
Build the Garlic Soy Sauce and Wilt the Spinach
With the wok still over high heat, add the 1 tablespoon sesame oil and swirl to coat the bottom. Add the minced garlic and grated ginger, stirring constantly for 30 seconds until fragrant—this prevents burning and releases their full flavor. Pour in the remaining 1 tablespoon low-sodium soy sauce (from the marinade) and scrape up any browned bits from the bottom of the wok with a wooden spoon. These bits, called fond, are packed with flavor.
Add the 5 ounces baby spinach to the wok and toss vigorously with tongs for 1-2 minutes until just wilted. The spinach should be bright green and tender-crisp, not fully mushy. Return the cooked beef to the wok and toss everything together for 1 minute to combine. The heat from the beef will finish cooking the spinach while reheating the meat slightly. Season with the 0.5 teaspoon red pepper flakes if using, and toss again to distribute evenly.
Serve Immediately Over Steamed Rice
Divide the cooked jasmine rice among four plates, then spoon the beef and spinach stir-fry over the top. Garnish with the sliced 3 green onions, using both the white and green parts for color and freshness. The dish should be vibrant, with tender beef, wilted spinach, and a glossy sauce clinging to every bite.
Serve immediately while the beef is still hot and the rice is steaming. The contrast of the warm rice and the quick, wok-fired stir-fry creates a perfect balance of textures and temperatures. This recipe delivers restaurant-quality results in under 30 minutes—ideal for a quick weeknight dinner that still feels special.
Pro Tips For Making Beef And Spinach Stir Fry
- Slice Steak Against the Grain: I learned this the hard way—flank steak stays chewy if you slice with the grain. Cut thin strips perpendicular to the muscle fibers, and your stir-fry will melt in your mouth. A sharp knife and steady hand make all the difference here.
- Wilt Spinach in Stages: Baby spinach wilts fast, but dumping it all in at once turns it to mush. Add half first, stir until just softened, then toss in the rest—this keeps those bright green pockets intact. (Yes, even if you're impatient like me.)
- Sear the Beef First: Skip the "cook everything together" approach—sear the beef in a screaming-hot pan until browned before adding anything else. This locks in flavor and prevents a bland, soggy stir-fry. Two minutes per side, no crowding.
- Grate Ginger, Don’t Mince: Fresh ginger loses potency when finely minced. Use a box grater for tiny, even pieces that dissolve into the sauce without leaving tough bits. (Your future self will thank you.)
Health benefits of this dish
Lean Protein Power
Flank steak provides a high-quality protein source with about 30 grams per serving—perfect for muscle repair and satiety. Unlike fatty cuts, this lean beef offers iron (essential for blood health) and zinc (supports immunity) without excess saturated fat.
Pairing it with spinach doubles down on nutrients, creating a complete protein with added fiber and vitamins. 💪
Spinach's Nutrient Boost
Baby spinach is a nutrient powerhouse—just 5 ounces delivers 100% of your daily vitamin K (bone health), 50% vitamin A (vision), and 20% vitamin C (collagen production). The high-heat stir-fry method preserves lutein and zeaxanthin (eye health antioxidants) better than boiling.
I always keep spinach on hand because it's one of the few veggies that actually gets more nutritious when cooked lightly. 🌱
Soy Sauce Benefits
The low-sodium soy sauce in this recipe contains isoflavones—plant compounds linked to heart health and reduced inflammation. Just 1 tablespoon provides 10% of your daily iron and adds umami depth without overpowering flavors.
For extra benefits, I sometimes swap in tamari (gluten-free soy sauce) or coconut aminos for a slightly sweeter profile. The cornstarch in the marinade also helps control blood sugar spikes by slowing digestion. 💛
Balanced Macronutrients
This stir fry delivers a perfect macronutrient balance: protein from beef, complex carbs from jasmine rice, and healthy fats from sesame oil. The 1:1:1 ratio (protein:carbs:fats) makes it ideal for post-workout meals or balanced diets.
The ginger and garlic in the sauce add anti-inflammatory compounds that aid digestion and metabolism. I've found this combination keeps me full for hours without energy crashes. ✨
Quick Meal Prep
Prepping components separately makes this dish meal-prep friendly while maintaining nutrients. Store cooked beef and sauce in one container, spinach in another, and assemble when ready to eat. This prevents spinach from turning mushy and keeps beef tender.
The high-heat cooking method preserves more nutrients than slow-cooking techniques. I meal prep this twice weekly for quick lunches that feel restaurant-quality. 📅
Digestive Advantages
The fiber in spinach (about 2 grams per serving) supports gut health, while the ginger in the sauce aids digestion and reduces bloating. The low-sodium soy sauce helps maintain healthy blood pressure compared to regular versions.
For extra fiber, I sometimes add shredded carrots or bell peppers—they cook quickly without sacrificing nutrients. This dish is gentle on digestion while still being packed with flavor. 💡
Nutrition facts
Frequently asked questions
Can I substitute flank steak with another cut of beef?
Yes, but choose thinly sliced cuts that cook quickly on high heat. Flank steak, sirloin, or ribeye work best—all should be sliced ¼-inch thick against the grain for tenderness. Avoid thicker cuts like chuck roast, as they won't cook evenly in the short stir-fry time. For extra flavor, marinate any substitute for 15-20 minutes in the same soy-cornstarch mixture.
How do I prevent the spinach from turning mushy?
Wilt spinach over high heat for just 1-2 minutes—it should stay vibrant green with slight crispness. Use baby spinach (not regular), as it holds up better. Add spinach last to the wok, after removing the beef, so it cooks quickly in the residual heat. Overcrowding the pan also causes steaming—keep portions small for even cooking.
What's the best way to reheat leftovers?
Reheat in a clean wok or skillet over medium-high heat for 2-3 minutes, adding a splash of water or soy sauce to revive the sauce. Never microwave—it makes the beef rubbery. For best results, store components separately (beef, sauce, spinach) and reassemble when reheating. The sauce thickens when cold, so thin with water if needed.
Can I make this gluten-free?
Swap regular soy sauce for tamari (gluten-free soy sauce) or coconut aminos (1:1 ratio). Use gluten-free cornstarch if needed, though regular cornstarch is naturally gluten-free. Double-check all ingredients—some sesame oils contain wheat additives. The flavor remains rich and savory with these substitutes.
Why does my beef turn out tough?
Overcooking is the #1 cause—beef should cook for 3-4 minutes total on high heat. Slice against the grain and marinate for 15-20 minutes (no longer). Pat beef dry before cooking to prevent steaming. If using thicker slices, reduce cooking time by 30 seconds. The cornstarch in the marinade helps tenderize, but don't skip it!
