This Chinese-inspired stir fry features tender flank steak slices coated in cornstarch and seared until crispy, then tossed with sweet caramelized onions in a rich savory sauce. The combination of soy sauce, oyster sauce, hoisin, and brown sugar creates a glossy coating that clings perfectly to the beef. Ready in just 30 minutes, this dish delivers restaurant-quality flavors at home with minimal effort.
One rainy Tuesday, my kitchen smelled like a tiny restaurant in Shanghai. I had just discovered the magic of velveted beef and could not stop experimenting with stir fries until this particular combination landed in my rotation forever.
My roommate walked in mid-cooking and immediately asked what restaurant I had ordered from. When I told her I made it, she grabbed a fork and stood right there at the stove until the beef was gone.
Ingredients
- Flank steak: Slice it paper-thin against the grain, otherwise the beef turns chewy instead of meltingly tender
- Yellow onion: Let it caramelize properly in the hot oil until the edges turn golden brown
- Cornstarch: This creates that incredible crispy coating on the beef that makes restaurant stir fries so distinctive
- Soy sauce, oyster sauce, and hoisin: Together they build that deep umami-rich sauce that clings to every bite
- Fresh ginger and garlic: Do not use powdered versions here, fresh aromatics make all the difference
Instructions
- Marinate the beef:
- Toss the sliced flank steak with soy sauce, Shaoxing wine, sesame oil, white pepper, and cornstarch until every piece is coated. Let it sit for at least ten minutes while you prep everything else.
- Whisk the sauce:
- Combine the remaining soy sauce, oyster sauce, hoisin, brown sugar, and water in a small bowl until the sugar dissolves completely.
- Crisp the beef:
- Heat two tablespoons of oil in a wok or large skillet until smoking hot. Add the beef in a single layer and let it sear undisturbed for two to three minutes until browned and crispy.
- Sauté the aromatics:
- Add the remaining oil to the pan along with the sliced onion, garlic, and ginger. Stir constantly for two to three minutes until the onion turns soft and fragrant.
- Bring it together:
- Return the crispy beef to the pan, pour in the sauce, and toss everything for one to two minutes until heated through and evenly coated. Garnish with spring onions and serve over rice.
This recipe has saved countless weeknights when takeout felt like too much effort but something delicious was absolutely necessary.
Making It Yours
Sirloin or ribeye work beautifully if you cannot find flank steak. Just remember to slice against the grain no matter which cut you choose.
Perfect Pairings
Fluffy jasmine rice soaks up the sauce beautifully, but wide egg noodles work just as well if you are craving something different.
Timing Is Everything
Have all your ingredients measured and chopped before you turn on the stove. Once the cooking starts, everything moves fast.
- Prep the sauce first so it is ready to pour
- Slice your onions and aromatics while the beef marinates
- Keep a bowl of warm rice ready to go
I hope this stir fry becomes your go-to for nights when you need something fast, satisfying, and undeniably delicious.
Recipe FAQs
- → What cut of beef works best for stir fry?
-
Flank steak is ideal because it's lean and takes on flavor well. Slice it thinly against the grain for tenderness. Sirloin or ribeye are excellent alternatives if preferred.
- → How do I get the beef really crispy?
-
Coat the marinated beef in cornstarch before frying and sear in hot oil without overcrowding the pan. Don't stir too much—let the beef develop a brown crust on one side before flipping.
- → Can I make this gluten-free?
-
Yes. Use gluten-free soy sauce or tamari, and check that your oyster sauce and hoisin are certified gluten-free or use GF alternatives.
- → What should I serve with this dish?
-
Steamed jasmine rice is classic, but noodles work beautifully too. The savory sauce pairs perfectly with plain rice to balance the flavors.
- → How long does the beef need to marinate?
-
At least 10 minutes for the coating to set, but 30 minutes to an hour yields even better flavor absorption. Don't marinate longer than 2 hours or the texture may become mushy.
- → Can I prep this ahead?
-
Slice the beef and vegetables in advance. Keep them refrigerated separately. The sauce can be whisked together and stored for up to 2 days before cooking.