Main Courses
Mastering a perfect beef and spinach stir fry starts with the right balance—crispy beef strips meeting tender spinach in a silky soy-ginger sauce. This recipe delivers restaurant-quality results with a simple approach that ensures bold flavors and satisfying textures.
The secret lies in high-heat wok cooking and precise timing to maintain that signature wok-fired crunch while keeping the spinach vibrant.
What sets this stir fry apart is the harmony of ingredients: thinly sliced beef marinated in a savory blend of soy sauce, ginger, and garlic, then quickly seared to perfection. The spinach wilts just enough to soften without losing its natural brightness, while a touch of sesame oil adds depth.
The sauce, reduced from soy, ginger, and a hint of honey, coats everything in a glossy, umami-rich finish.
By the time you plate this dish, you’ll have tender yet crisp beef and perfectly wilted spinach bathed in a balanced sauce that’s both sweet and savory. The dish comes together in under 30 minutes, making it ideal for weeknight dinners or quick entertaining.
Serve it over steamed jasmine rice or noodles for a complete meal that feels indulgent yet effortless.
This recipe is designed to be adaptable—swap in broccoli for spinach, use flank steak or sirloin, or adjust the sauce to your preferred sweetness level.
The key is maintaining that perfect balance of textures and flavors, so let’s get started on creating a stir fry that’s as impressive as it is delicious.
Ingredients for beef and spinach stir fry
Crispy beef and tender spinach meet silky sauce in this quick, flavorful stir fry.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against grain |
| Baby Spinach 🌿 | 5 oz | Fresh, not wilted |
| Soy Sauce 🍶 | ½ cup | Low-sodium preferred |
| Fresh Ginger 🌿 | 2 tbsp | Finely grated, not powdered |
| Garlic Cloves 🧄 | 4 cloves | Minced, not powdered |
| Sesame Oil 🫒 | 1 tbsp | Toasted, not flavored |
| Honey 🍯 | 1 tbsp | Light variety |
| Neutral Oil 🫒 | 2 tbsp | Vegetable or canola |
| Cornstarch 🌾 | 1 tbsp | For tenderizing beef |
| Green Onion 🧅 | 2 whole | Sliced, for garnish |
| Sesame Seeds 🌾 | 1 tsp | Toasted, for garnish |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
Flank steak is your best bet for this stir fry—it's lean but tender when sliced thin. Ask the butcher to cut it against the grain if they won't slice it for you. Baby spinach is ideal (the tender leaves wilt perfectly), but regular spinach works too if that's what you've got. For the ginger, fresh is non-negotiable—powdered lacks that bright punch. I grab mine from the Asian aisle at Whole Foods or Trader Joe's when I need a big batch, but the regular grocery store usually has it too. Look for firm, aromatic pieces with no mold.
No soy sauce? Coconut aminos or tamari work in a pinch, but you'll lose some depth. Fresh ginger powdered? Double the amount—it's way less potent. The sesame oil can be skipped if you're sensitive to flavor, but trust me, that toasted aroma is worth it. For the honey, light varieties like clover keep things balanced. Need to stretch this? Add mushrooms or bell peppers—they soak up the sauce beautifully. The cornstarch is key for tender beef, but if you're out, arrowroot powder at the same amount does the job just as well.
Prep the beef and sauce ahead if you're short on time—they keep 2 days in the fridge. The spinach wilts fast, so wait to add it until the very end. Garnish with toasted sesame seeds right before serving—they add crunch and aroma. Leftovers reheat beautifully, but add a splash of water to keep things saucy. Store in an airtight container for 3 days or freeze for 2 months. I always make extra rice to go with it—half the fun is the leftovers.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this—just the steak, spinach, and a splash of soy sauce in the same pan. No dishes piling up, no stress. The ginger and garlic caramelize right into the beef while the spinach wilts in seconds, and honestly? That’s my kind of cooking.
- Umami Bomb: The moment that flank steak hits the pan with minced garlic and fresh ginger? Chef’s kiss. The soy sauce ties it all together with this deep, savory punch that makes the spinach taste like it’s been kissed by sunshine. It’s the kind of flavor that sticks with you long after the last bite.
- Lunchbox Hero: Between us, this is my go-to for meal prep. Slice the steak thin, stir-fry it, and pack it with spinach—it stays fresh for days. Toss in some rice or noodles, and suddenly you’ve got a weeknight lunch that feels fancy but costs next to nothing.
- Budget Flex: Flank steak is affordable, spinach is cheap, and a little ginger and garlic stretch the flavors. I’ll be real: this recipe feeds four for under $15, and the leftovers? Even better the next day. It’s the kind of meal that doesn’t break the bank but still feels like a treat.
Step-by-step instructions for beef and spinach stir fry
Here's how to make this restaurant-quality stir fry at home with perfect wok-fired texture.
Prep the Flank Steak for Maximum Tender Crunch
Start by slicing the 1 lb flank steak thinly against the grain using a sharp knife. You want slices about ¼-inch thick—this ensures they cook quickly and stay tender. Place the sliced steak in a bowl and add the 1 tablespoon cornstarch, 1 teaspoon salt, and ½ teaspoon black pepper. Toss everything together until the steak is evenly coated.
Let the cornstarch-coated steak sit for 10 minutes while you prep the rest. This step is crucial—it creates a light crust that adds texture while keeping the meat juicy. Don't skip it, even if it feels like overkill. The cornstarch will also help tenderize the beef as it cooks.
Build the Flavor Base with Ginger and Garlic
Heat 2 tablespoons neutral oil in a large wok or skillet over medium-high heat until shimmering. Add the 2 tablespoons finely grated fresh ginger and 4 minced garlic cloves, stirring constantly for 30 seconds until fragrant but not browned. You want the aroma to fill your kitchen—that's when you know they're ready.
Next, pour in the ½ cup soy sauce and 1 tablespoon honey. Stir well and let the mixture simmer for 1 minute until slightly reduced. This creates the flavor foundation for your stir fry. If you're using low-sodium soy sauce, you might want to add a pinch more salt to balance the flavors. Keep the heat at medium-high so the sauce doesn't turn into syrup.
Cook the Beef to Perfect Doneness
Working in batches if needed, add the cornstarch-coated steak to the wok in a single layer. Let it sear undisturbed for 1-2 minutes until the edges turn golden brown and crispy. This initial sear locks in juices and builds flavor. Once you see the bottom edges start to crisp, use tongs to stir the beef around, breaking it into bite-sized pieces as it cooks.
Cook for another 2-3 minutes until the beef is no longer pink in the center but still slightly tender. It should be just about done—you'll finish cooking it with the spinach. Remove the beef to a plate and set aside. Don't overcook it here, or you'll end up with tough, chewy pieces. The residual heat from the wok will keep it warm while you finish the dish.
Wilt the Spinach in Seconds
Add the 5 ounces baby spinach to the wok in batches if needed, stirring constantly for 30-45 seconds until just wilted. The spinach should look vibrant green but completely collapsed—this takes mere seconds over high heat. You want to preserve its color and nutrients, so don't let it cook any longer than necessary.
Return the beef to the wok and stir everything together for 1 minute to combine. The heat from the beef will help finish cooking any remaining spinach while reheating the meat. Taste the mixture and adjust seasoning if needed—you might want to add a splash more soy sauce or a pinch of salt to balance the flavors.
Finish with Sesame Oil and Garnish
Remove the wok from heat and drizzle in the 1 tablespoon sesame oil. Stir quickly to distribute it evenly—this adds a nutty aroma and rich flavor. The sesame oil should coat everything lightly without making the dish greasy. If the stir fry seems too thick, add 1-2 tablespoons water to loosen it up.
Transfer the beef and spinach to serving plates and garnish with 2 sliced green onions and 1 teaspoon toasted sesame seeds. Serve immediately while everything is hot and vibrant. The contrast of silky soy-ginger sauce, tender beef, and crisp-tender spinach makes this stir fry a standout dish that's perfect for weeknight dinners or quick entertaining.
Pro Tips For Making Beef And Spinach Stir Fry
- SLICE THIN, COOK FAST: Flank steak’s tough when overcooked—cut it against the grain into ¼-inch strips, then sear in batches for 1-2 minutes per side. Crowding the pan drops the temp, and you’ll end up with chewy meat instead of tender slices. High heat is your friend here.
- WILT SPINACH LAST: Add baby spinach when the beef’s nearly done—it wilts in seconds. Dumping it in too early turns your stir-fry into a sad, soggy mess. Wait until the pan’s screaming hot again before tossing it in, and you’ll get those bright, crisp edges.
- GINGER: GRATE, DON’T CHOP: Fresh ginger loses its punch when minced. Use a microplane or fine grater for tiny, even pieces that dissolve into the sauce instead of sitting as chunks. Skip the food processor—it turns ginger into a paste that clumps and burns.
- SOY SAUCE: SALT IT FIRST: Store-bought soy sauce is often oversalted. Taste it first, then reduce by half if needed—you’re building flavor, not just seasoning. Add the full amount after cooking, let it sit 5 minutes, then adjust. This keeps your dish balanced without guessing.
Common mistakes when making great beef and spinach stir fry
Overcrowding the Pan
This is the #1 mistake I see—adding too much beef at once. When you overcrowd your wok, the beef steams instead of searing, resulting in soggy, unevenly cooked meat. Work in single layers and cook in batches if needed.
A 12-inch wok can handle about ½ lb of beef at a time without crowding. Trust me, the extra minute of waiting pays off with perfect texture. 🔥
Skipping the Cornstarch
The cornstarch isn't just for thickening—it creates that signature wok-fired crunch while tenderizing the beef. If you skip it, your beef will turn out tough and chewy. For best results, use 1 tbsp cornstarch per pound of beef, and let it sit for at least 10 minutes before cooking.
I've tried this recipe without cornstarch, and honestly, it's not the same experience.
Low and Slow Cooking
Stir fry is all about high heat and quick cooking. If you cook at medium heat or lower, your beef will dry out and the spinach will turn mushy. Your wok should be so hot that you can barely hold your hand an inch above it.
If you're not getting enough heat, increase to high heat or use a heavier wok that retains heat better. A carbon steel wok is ideal for this technique.
Adding Spinach Too Early
Spinach wilts in seconds—when added too early, it turns into a sad, limp pile. Save it for the very end, stirring it for just 30-45 seconds until vibrant green but completely wilted.
The residual heat from the beef will finish cooking it perfectly. If you're using regular spinach instead of baby spinach, chop it roughly first to speed up wilting.
Ignoring the Resting Time
After cooking, let your beef rest for 2-3 minutes before serving. This allows the juices to redistribute, keeping each bite tender. I know it's tempting to eat immediately, but skipping this step means dry, stringy beef.
Use this time to prep your garnishes or warm your serving plates. The wait is worth it for that perfect texture. ✨
Using the Wrong Oil
Neutral oils like vegetable or canola work best for stir fry because they have high smoke points and don't add flavor. Olive oil or sesame oil (used for finishing) can burn at high heat, creating bitter flavors.
For the initial cooking, stick with neutral oil. Save the sesame oil for the final drizzle—it adds that nutty aroma without overpowering the dish.
Nutrition facts
Frequently asked questions
Can I use flank steak substitutes in this recipe?
Flank steak is ideal, but sirloin, ribeye, or even chicken breast work well. For chicken, use 1 lb boneless breast sliced into thin strips and reduce cooking time to 3-4 minutes. If using pork, opt for tenderloin and marinate for 20 minutes instead of 10 to ensure tenderness. The key is thin, even slices that cook quickly.
How do I prevent the spinach from turning mushy?
Spinach wilts in seconds—add it only at the very end when the beef is nearly done. Stir constantly for 30-45 seconds over high heat until just wilted. Baby spinach is best, but if using regular spinach, chop it roughly first. Never add it while the beef is still raw, or it'll steam instead of wilt properly.
Can I make this stir fry ahead of time?
Yes, but with a few tweaks. Marinate the beef and prep the sauce 1-2 days ahead and store in airtight containers. For the full dish, cook it fresh and refrigerate for 3 days or freeze for 2 months. Reheat gently in a skillet with a splash of water to restore moisture. The spinach is best added fresh when reheating to maintain texture.
What's the best way to adjust the sauce flavor?
Start with the basic sauce, then taste and adjust. For more sweetness, add ½ tsp honey or 1 tsp sugar. Need more savory depth? Add ½ tsp fish sauce or 1 tsp oyster sauce. Too salty? Thin with 1 tbsp water or add ½ tsp honey to balance. The sauce should coat the back of your spoon without being overly thick.
Can I make this gluten-free?
Easily! Replace soy sauce with tamari or coconut aminos (use the same amount). Check that your cornstarch is certified gluten-free if needed. The rest of the ingredients are naturally gluten-free. For extra flavor, add 1 tsp gluten-free fish sauce to the sauce mixture. The texture and taste will remain just as delicious.
