Tender beef and juicy mushrooms tossed in a rich, savory, glossy sauce. This easy beef mushroom stir-fry is ready in just 30 minutes. I velvet the beef with baking soda, cornstarch, and water to keep it tender and juicy during stir-frying.

Jump to:
Beef mushroom stir-fry is a Chinese restaurant-style dish made with tender sliced flank steak, mushrooms, and onions in a savory brown sauce.
I love making this takeout favorite at home because it easily saves me $20 over ordering it from a restaurant, and the leftovers are great for meal prep throughout the week.

When I make this for dinner, I sear the beef separately to develop lightly browned edges without overcooking it. I also cook the mushrooms and onions until slightly softened so they retain some texture when tossed in the sauce. Finally, I thicken the sauce before returning the beef so everything gets evenly coated without overcooking the meat.
Ingredients & Substitutes
Exact ingredient amounts are listed in the recipe card at the bottom of this page.

- Flank Steak: I tested various cuts of beef and found flank steak works best because its loose grain gives it a tender texture when thinly sliced against the grain and velveted. Sirloin tip, tri-tip, or hanger steak also work.
- Cremini Mushrooms: These have a meaty texture that holds up well during stir-frying. White button mushrooms also work.
- Green Onions
- Onion: Thinly slice so it cooks quickly with the mushrooms.
- Vegetable Oil: Or use a neutral oil with a high smoke point, such as canola or refined avocado oil.
Beef Marinade
- Cold Water: Adds moisture to the beef during velveting so it stays juicy during cooking.
- Cornstarch: Coats the beef to help retain moisture during stir-frying. Potato starch also works.
- Regular Soy Sauce: Light soy sauce also works. For a less salty option, use low-sodium soy sauce.
- Baking Soda: Tenderizes the beef during the short marinade for that restaurant-style texture. Don't skip it.
- Vegetable Oil: Helps coat the beef and keep the slices separated during cooking. Or use any neutral oil.
Stir-Fry Sauce
- Chicken Stock: Use low-sodium chicken stock to control the saltiness.
- Garlic Cloves: Freshly minced garlic is best, but jarred minced garlic also works.
- Oyster Sauce: Gives the brown sauce its savory flavor and body. Vegetarian stir-fry sauce also works.
- Dark Soy Sauce: Gives the sauce its deep brown color. I prefer Pearl River Bridge Superior Dark Soy Sauce for its thick consistency and deep color. Dark mushroom soy sauce also works.
- Shaoxing Wine: Adds a savory, slightly sweet depth to the stir-fry sauce. Dry sherry also works.
- Cornstarch: Thickens the sauce so it becomes glossy and clings to the beef and mushrooms. Potato starch also works.
- White Granulated Sugar: Cane sugar also works.
- Toasted Sesame Oil: Adds a rich, nutty flavor to the stir-fry sauce. Avoid untoasted sesame oil, which tastes milder.
Note: Asian ingredients are typically available at most Asian grocery stores or online.
Expert Tips
- Partially freeze the beef: Freeze for 45-60 minutes until the exterior is slightly firm for easier thin slicing.
- Slice against the grain: This shortens the muscle fibers, making the beef easier to chew.
- Prep all ingredients first: Stir-frying moves quickly, so having everything ready helps prevent overcooking.
- Use a large pan: This allows moisture to evaporate so the beef browns instead of steaming.
- Let the beef sear undisturbed: This allows the surface to brown and develop more flavor before flipping.
Instructions
Below are step-by-step instructions on how to make beef mushroom stir-fry:

- Cut the beef: Slice the beef against the grain at a 45-degree angle into ¼-inch-thick strips. Transfer to a large bowl.

- Marinate the beef: Toss the sliced beef with the marinade ingredients until evenly coated. Let sit for 15-20 minutes.

- Prepare the sauce: In a small bowl, whisk the stir-fry sauce ingredients until well combined and the sugar has fully dissolved. Set aside.

- Sear the beef: Heat the vegetable oil in a large pan over medium heat. Once hot, add the beef in a single layer and cook for 4-5 minutes in total, flipping over halfway, until lightly browned on the edges and just cooked through. Remove and set aside.

- Cook the vegetables: Add the onions and mushrooms to the pan in an even layer and cook for about 2-3 minutes until slightly softened.

- Finish the dish: Re-whisk the sauce, then pour it into the pan and simmer for about 30 seconds until glossy and slightly thickened. Return the beef to the pan with the green onions. Toss for about 30 seconds until evenly coated and heated through. Remove from heat and serve immediately.
Storage & Reheating
- Refrigerator: Store leftovers in an airtight container for up to 4 days.
- Freezer: Freeze cooled leftovers in a freezer-safe container for up to 3 months. The mushrooms will have a softer texture after thawing. Thaw overnight in the refrigerator before reheating.
- Reheating: Microwave in 1-minute intervals, stirring between each, until hot throughout. Alternatively, reheat in a pan over medium heat until hot throughout.
Variations
- Spicy: Mix 1 teaspoon chili oil or red pepper flakes into the sauce for some heat.
- Gluten-Free: Use gluten-free regular soy sauce, dark soy sauce, oyster sauce, and chicken stock. Substitute dry sherry for Shaoxing wine.
Pairing Suggestions
Serve mushroom beef stir-fry with:
- Egg Fried Rice: A hearty rice side that pairs well with the savory stir-fry sauce.
- Hot and Sour Soup: A tangy, spicy soup that balances the rich beef and mushrooms.
- Chinese Garlic Yu Choy: A simple vegetable side that adds freshness and crunch to the meal.
FAQ
Use a large pan and cook the mushrooms in an even layer so excess moisture can evaporate. Cook until slightly softened before adding the sauce.
The cornstarch may not have thickened fully. Simmer the sauce a little longer until glossy and slightly thickened. Make sure to re-whisk the sauce before adding it to the pan, as cornstarch settles at the bottom.
More Like This
Check out my other beef recipes:
📖 Recipe

Easy Beef Mushroom Stir-Fry (30 Minutes)
Ingredients
- 1 lb flank steak
- 8 oz cremini mushrooms quartered
- 2 green onions cut into 2-inch-long pieces
- ½ large onion julienned
- 1 tablespoon vegetable oil or any neutral oil
Beef Marinade
- 3 tablespoon water cold
- 1 tablespoon cornstarch
- 1 teaspoon regular soy sauce or light soy sauce
- ½ teaspoon baking soda
- 1 tablespoon vegetable oil or any neutral oil
Stir-Fry Sauce
- ¼ cup chicken stock low-sodium
- 3 garlic cloves minced
- 1.5 tablespoon oyster sauce
- 1 tablespoon dark soy sauce
- 1 tablespoon Shaoxing wine or dry sherry
- ½ tablespoon cornstarch
- 2 teaspoon white granulated sugar
- 2 teaspoon sesame oil toasted kind
Instructions
- Slice the beef against the grain at a 45-degree angle into ¼-inch-thick strips. Transfer to a large bowl.
- Toss the sliced beef with the marinade ingredients until evenly coated. Let sit for 15-20 minutes.
- In a small bowl, whisk the stir-fry sauce ingredients until well combined and the sugar has fully dissolved. Set aside.
- Heat the vegetable oil in a large pan over medium heat. Once hot, add the beef in a single layer and cook for 4-5 minutes in total, flipping over halfway, until lightly browned on the edges and just cooked through. Remove and set aside.
- Add the onions and mushrooms to the pan in an even layer and cook for about 2-3 minutes until slightly softened.
- Re-whisk the sauce, then pour it into the pan and simmer for about 30 seconds until glossy and slightly thickened. Return the beef to the pan with the green onions. Toss for about 30 seconds until evenly coated and heated through. Remove from heat and serve immediately.






Elizabeth Omutiti
I love your recipes
Christie Lai
Thanks for making my recipes, Elizabeth!
Tennielle B
My family of 4 loved this!!! I added broccoli florets to the recipe and cooked them when I added the mushrooms and onion.
Will double recipe and make again so we have some leftovers! Kids said the mushrooms were the best part so I might add more next time.
Christie Lai
Thanks for making my recipe and for the positive review! Glad you and your family enjoyed it!
Thomas Robison
Very delicious dish, I absolutely love it
Christie Lai
Thank you so much for making my recipe and so happy you enjoyed it, Thomas!
KM
Made this for dinner tonight! It was absolutely delicious. I would make 2 small tweaks for personal preference. I would only put a small sprinkle of baking soda because it was a little gritty as you warned when I cooked the beef after marinating. And only put 1 tablespoon of sugar because the sauce was a little sweet. I will be adding this to my go to meals! Thanks so much!
Christie Lai
Happy to read this! Glad it was delicious and thanks for sharing your overall positive experience here. I also appreciate you for making my recipe 🙂
Colleen McPherson
This was amazing! I substituted the mushrooms for broccoli. I marinated the meat for 15 mins and it was delicious and super tender. I made this for our Mother’s Day brunch and everyone raved about it. I’ve made it a few times already and it’s perfect every time. Thank you!
Christie Lai
I am so happy to read this and glad the broccoli substitute worked out well! Thank you for making my recipe for Mother's Day and for your continued support 🙂
David Mcallister
Don't you rinse the baking soda off the meat before cooking?
Christie Lai
No need for that since we're using such a small amount that you can't taste it. Also if you wash it off with the other marinade ingredients, the meat won't velvet properly.
Bassie
Will be making it tonight! Would it be even better to marinade longer? Like 1 or 2 hours or so? Or should it be 15 minutes because of the baking soda?
Christie Lai
Hi Bassie, I hope you enjoy my recipe. I don't recommend marinating more than 15-20 minutes as the baking soda can cause the beef to become mushy and taste metallic. Hope this helps.