
Ginger beef is a Chinese American restaurant favorite that does not actually exist in China, unlike its cousin ginger chicken stir fry. My version mimics the takeout style without the deep fryer, by coating thin slices of marinated flank steak in cornstarch and dry frying them with a thin layer of oil. The sauce sits in the savory sweet and sour family, with Chinkiang vinegar, Shaoxing wine, light and dark soy, and just enough sugar to bring it close to takeout without going all the way there.
My recipe is definitely different from the older version I had on the site. After more testing I changed both the cutting method and the cooking method to give the beef a much better surface texture, using the same shallow fry technique I worked out for my Sichuan crispy beef. The new version uses baking soda in the marinade, which tenderizes the beef and helps the surface brown faster, and a generous cornstarch dredge that gives the slices a chewy crispy exterior once they come out of the oil.
Plan for 45 minutes, about 25 of those for prep and 20 for the cook, because the beef needs to be fried in batches and that part is slow. The whole sequence is marinate the beef, mix the sauce, dredge the beef in cornstarch, shallow fry in batches, then build the stir fry with aromatics, vegetables, and the sauce before tossing the beef back in. Make it once on a weekend evening when you have time to do it right, and you will see how close a home kitchen can get to takeout style ginger beef without the deep fryer.

Ingredients
I group the ingredients into 5 simple categories to make them easier to follow. Below are all the ingredients I use, along with some important notes and substitutions.

Beef and marinade: Flank steak is my cut of choice because it is well marbledand stays tender after a fast high heat sear. The marinade is a beaten egg, finely grated ginger, baking soda, and kosher salt. Baking soda is the key ingredient here, it tenderizes the beef chemically and also helps the surface brown faster once the slices go into the hot oil. The egg adds body to the marinade so the cornstarch dredge has something to grip later.
Sauce: A mix of chicken stock, Shaoxing wine, light soy sauce, dark soy sauce, Chinkiang vinegar, sugar, Chinese red chili pepper flakes, and a tablespoon of cornstarch whisked in.
The beef dredge: A separate 1/3 cup of cornstarch goes on the beef after marinating, added a tablespoon at a time so the slices end up with an uneven coating that has some dry cornstarch left clinging to the surface.
Vegetables and aromatics: Sliced green onion with the white and green parts separated, a couple of cloves of thinly sliced garlic, a thumb of julienned ginger, one red pepper sliced thin, and two baby bok choy cut into bite size pieces.
Fat and garnish: A third of a cup of peanut oil is what I use to shallow fry the beef in batches. Vegetable oil works the same way if peanut oil is not in the pantry. A small spoonful of toasted sesame seeds goes on top right before serving.
How to Make
1. Slice the flank steak: Halve the steak lengthwise into two big pieces, then slice each piece against the grain into 1/4 inch (6 mm) thick slices. If the flank steak I get is on the thin side, I prefer to slice on a slightly bias so the beef pieces are slightly wider.
2. Marinate the beef: Beat the egg in a medium bowl. Add the sliced beef along with the grated ginger, baking soda, and kosher salt. Mix well and let it marinate for 20 minutes while you prep the other ingredients. The baking soda goes to work during these 20 minutes, tenderizing the surface of the beef so it browns faster later.

3. Mix the sauce: Combine the chicken stock, Shaoxing wine, light soy, dark soy, Chinkiang vinegar, sugar, chili pepper flakes, and the tablespoon of cornstarch in a medium bowl. Whisk until the sugar dissolves and the cornstarch is fully suspended. Set the bowl with a spoon next to the stove because the sauce will need a quick re-stir right before it goes in.
4. Dredge the beef: Right before cooking, add the third cup of cornstarch to the marinated beef one tablespoon at a time, stirring after each addition.

5. Shallow fry the beef in batches: Heat 1 to 2 tablespoons of peanut oil in a wok or 12 inch skillet over medium to high heat until it shimmers. Add a portion of the beef in a single layer with minimal overlap. Do not touch it for 3 minutes so the bottom browns deeply, then flip and cook the second side for about 2 more minutes. Transfer the beef to a large plate and repeat with the remaining beef in batches. Add more oil for each batch.

6. Rest the pan and the beef: Remove the pan from the stove and let everything rest for 2 to 3 minutes. The surface of the beef will crisp up further during the resting.
7. Cook the aromatics: Return the pan to medium heat, add 1 tablespoon of oil. Add the green onion whites, julienned ginger, and sliced garlic. Stir for a few seconds until the garlic smells toasty.

8. Stir fry the vegetables: Add the sliced red pepper and the baby bok choy pieces. Stir and cook for about 1 minute until the bok choy starts to wilt but the red pepper still has snap.

9. Add the sauce: Give the sauce mixture another stir to suspend the cornstarch, then pour it into the pan. Stir for a few seconds as it thickens into a glossy glaze, this happens fast because the cornstarch is already in the sauce.

10. Return the beef and serve: Add the fried beef back to the pan, along with the green onion greens, and toss quickly to coat every piece in sauce. Transfer to a serving plate right away and garnish with toasted sesame seeds. Serve hot.

Cooking notes
Slice across the grain, no exceptions: Flank steak fibers run long in one direction. Cutting across them shortens the fibers and gives you tender slices, cutting with them locks in the chew. I halve the steak lengthwise first so each piece is short enough to slice across cleanly.
Trust the baking soda window: Twenty minutes is the right window for baking soda on flank steak. Less than that and the tenderizing barely starts, more than that and the surface can go soapy. I set a timer when the marinade goes on so I do not get distracted.
Add the cornstarch dredge a spoonful at a time: Adding it in stages and stirring between each addition gives the them an more even coating that holds its texture longer in the sauce.
Cook the beef in batches, do not crowd the pan: A crowded pan drops the oil temperature and the beef ends up steamed instead of seared. I would rather fry in three batches and keep the oil hot than rush them all in at once.
Let the pan rest between the beef and the stir fry: The pan is very hot after the beef batches, hot enough to burn garlic and ginger in seconds. The 2 to 3 minute rest lets the temperature drop into the right range for the aromatics.
Make the sauce thickener part of the sauce mix: I whisk the cornstarch into the sauce mixture itself instead of making a separate slurry, so the sauce thickens to a glaze the moment it meets the hot pan. With only a small amount of sauce in the recipe, this method is faster and cleaner than working with a separate slurry bowl.

Serving Suggestions
The way I serve this Ginger Beef Stir Fry is as the main protein on a weekend dinner over steamed rice. The sauce is sticky and just enough to coat all the ingredients, which is by design, because more sauce would soften the beef quickly and lose the chewy crispy texture I worked to build. I plate the beef and vegetables straight from the pan over a bed of rice and let the sauce drip down into the grains underneath.
When guests are coming over, I run this as one of three plates so nobody has to commit to a single flavor for the whole meal. A bright clean side like spicy cucumber salad cuts through the sweetness, Bok Choy with oyster sauce keeps a green vegetable on the table, and scallion oil noodles round out the carb in a lighter way than fried rice would.
Frequently Asked Questions
Why is my beef chewy instead of crispy?
Honest answer, this dish lands closer to chewy juicy than deep fried crispy, even when everything goes right. The cornstarch dredge and shallow fry give the surface a real chew with some crisp edges, but once the beef goes into the sauce the crispness softens quickly. If maximum crispness matters to you, fry the beef and pull it off the heat, then cook the sauce right before serving and toss the beef back in at the last possible moment. That is the closest you can get to deep fried texture without actually deep frying.
What vegetables can I swap for the red pepper and baby bok choy?
The red pepper and baby bok choy give the dish color and a balance of crunch and tender wilted greens, so I look for swaps that land on one of those notes. Snow peas or sugar snap peas slot in for the red pepper, and a head of broccoli cut into small florets works in place of the bok choy, though broccoli needs a quick blanch (1.5 minutes) before stir frying. Whatever I swap, I keep the total vegetable amount close to the original so the sauce still coats everything in one toss.
How long do leftovers keep in the fridge?
Leftovers keep in an airtight container in the fridge for 3 days. The beef softens in the sauce as it sits, so the texture moves from chewy crispy to fully tender. I reheat in a skillet over medium heat with a splash of water to loosen the sauce, which works better than the microwave for keeping the vegetables from going limp. I do not recommend freezing this dish because the bok choy releases water on thawing and the beef coating turns gummy.
Want to Save This Recipe?
Enter your email below & we’ll send it to your inbox. Plus get great new recipes from us every week!

Ginger Beef Stir Fry
Ingredients
Marinating
- 1 lb 450 g flank steak
- 1 egg , beaten
- 1 tablespoon finely grated ginger
- 1/2 teaspoon baking soda
- 1/2 teaspoon kosher salt
Sauce (Footnote 1)
- 1/3 cup chicken stock (or beef stock)
- 2 tablespoons Shaoxing wine
- 2 tablespoons light soy sauce
- 1 teaspoon dark soy sauce
- 2 tablespoons Chinkiang vinegar
- 3 tablespoons sugar
- 1 teaspoon Chinese red chili pepper flakes
- 1 tablespoon cornstarch
Beef and stir-fry
- 1/3 cup cornstarch
- 1/3 cup peanut oil (or vegetable oil)
- 3 green onions , sliced on the bias, white and green part separated
- 2 cloves garlic , thinly sliced
- 1 thumb ginger , julinned
- 1 red pepper , sliced
- 2 baby bok choy , sliced into bite-size pieces
- 1 teaspoon toasted sesame seeds (for garnish)
Instructions
- Halve the flank steak lengthwise into two big pieces, then slice against the grain into 1/4” (4-cm) thick pieces.
- Beat the egg in a medium-sized bowl. Add the sliced beef, ginger, baking soda and salt. Mix well and let marinate for 20 minutes while preparing the other ingredients.
- Combine the sauce ingredients in a medium bowl and mix well.
- When you’re ready to cook, add the 1/3 cup cornstarch to the marinated beef, 1 tablespoon at a time. Stir to coat the beef, until it forms an uneven coating with a little dry cornstarch left unattached.
- Heat 2 tablespoons of oil in a wok (or 24” skillet) over medium-high heat until it shimmers. Cook in batches, add the beef and spread it into a single layer in the skillet. Cook without touching the beef for 3 minutes, or until the bottom has browned. Flip to brown the other side, 2 minutes or so. Transfer the beef to a big plate and repeat with the rest of the beef. Once all the beef is cooked, remove the pan from the stove. Let cool for 2 to 3 minutes. (*Footnote 2)
- Place the pan back onto the stove and turn to medium heat. Add 1 tablespoon of oil.
- Add the green onion, ginger, and garlic. Stir a few times to release the fragrance.
- Add the bell pepper and baby bok choy. Turn to medium high heat. Stir and cook for 1 minute.
- Stir the sauce again to dissolve the cornstarch completely. Pour into the pan. Stir and cook until it thickens (*Footnote 3). Add back the beef pieces. Stir to coat the beef with sauce.
- Transfer everything to a plate immediately and garnish with roasted sesame seeds. Serve hot over steamed rice as a main dish.
Notes
- I made a sticky sauce that’s just enough to coat all the ingredients and season everything well, without turning the beef soggy. If you make extra sauce to serve with rice, be aware that more liquid will cause the beef to turn soft very quickly.
- If you don’t plan to serve the dish soon, you can set the beef aside and cook the sauce right before serving. The beef will stay crispy this way. Once tossed with the sauce, the beef will still have some crispy texture but it starts to lose crispiness quickly.
- The sauce thickens in a few seconds, so make sure you have the cooked beef ready to add back immediately.
Nutrition
Did you make this recipe?
I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.
Jay THOMSON
Awesome, we did double the ginger and Garlic cause that’s the way we like it.