Beef and broccoli is the dish that made most of us fall in love with Chinese takeout, and the good news is that the restaurant version is completely doable at home. The secret is not a fancy wok or a mysterious sauce packet – it is a two-step marinade and a screaming hot pan.
The beef gets a quick baking soda and cornstarch bath, which keeps it impossibly tender even when it hits high heat. The broccoli is blanched first so it stays bright green and snappy while the beef sears. Everything comes together in one pan in under ten minutes of actual cooking.
The sauce is a simple pantry blend of oyster sauce, soy, a little sugar, and cornstarch slurry. It thickens into that unmistakable glossy coat that clings to every piece, and it takes exactly 60 seconds to come together at the end.
Why You'll Love This Recipe
About the Ingredients
1 1/2 lb (680g) flank steak, sliced thinly against the grain
Ask your butcher for flank or skirt steak and have them slice it, or freeze it 20 minutes for easier thin slicing. Sirloin or ribeye work as substitutes but cook 30 seconds faster.
1/4 tsp baking soda
This is the velvet trick that keeps beef tender at high heat – do not skip it. If you are sensitive to it, use 1/2 tsp cornstarch only and accept slightly firmer beef.
2 tbsp cornstarch, divided
One tablespoon goes into the beef marinade, one into the sauce slurry. Potato starch or arrowroot powder are 1:1 substitutes.
3 tbsp soy sauce, divided
Use regular soy sauce, not dark, or the sauce turns muddy and salty. Tamari is a great gluten-free swap.
1 tbsp Shaoxing wine or dry sherry
Buy Shaoxing in the Asian aisle of any supermarket or use dry sherry. Mirin works but adds sweetness, so cut the sugar by half.
1 lb (450g) broccoli florets, cut into 1-inch pieces
Buy heads with tight, dark green crowns and no yellowing. Frozen florets work but blanch 1 minute less and drain very well.
3 tbsp oyster sauce
Look for a bottle with oyster as the first ingredient, not sugar water. Vegetarian oyster sauce or hoisin are solid substitutes.
1 tbsp brown sugar
Dark brown sugar gives a deeper caramel note; honey works too but lower the heat when adding the sauce so it does not scorch.
3 tbsp neutral oil, divided
Peanut or canola handle high heat best. Do not use olive oil here – it smokes and tastes wrong with the sauce.
4 cloves garlic, minced, plus 1 tbsp minced fresh ginger
Fresh ginger is non-negotiable for the restaurant flavor; jarred is a last resort. Keep garlic and ginger separate from the beef so they do not burn.
3/4 cup (180ml) low-sodium beef broth
Use low-sodium so you can control the salt, since soy and oyster sauce are already salty. Chicken broth is a fine substitute.
1 tsp toasted sesame oil, plus sesame seeds for garnish
Add sesame oil off the heat at the very end so its aroma survives. Toasted sesame seeds are optional but make it look like takeout.
Tips & Tricks
Do not crowd the pan
Cook the beef in two batches over the highest heat so it sears instead of steaming. Overcrowding is the number one reason home stir fry turns gray and watery.
Slice against the grain
Look for the lines running through the steak and cut perpendicular to them. This shortens the muscle fibers and is the difference between tender and chewy beef.
Dry the beef well
Pat the marinated slices dry-ish on paper towels before searing. Surface moisture creates steam, and steam means no browning.
- Have everything ready before you turn on the heat: Stir fry moves in seconds, so pre-mix the sauce and set the garlic, ginger, and broccoli within arm's reach. Burnt garlic ruins the whole pan.
Pro Tips
Step-by-Step Instructions
1. Slice and velvet the beef
Slice the flank steak thinly against the grain into 1/8-inch strips. Toss with baking soda, 1 tbsp cornstarch, 1 tbsp soy sauce, and the Shaoxing wine, then let it sit 15 minutes at room temperature – the beef will look slightly tacky and glossy.
2. Mix the sauce
Whisk the remaining 2 tbsp soy sauce, oyster sauce, brown sugar, beef broth, and remaining 1 tbsp cornstarch in a small bowl until no lumps remain. The slurry should look cloudy and uniform.
3. Blanch the broccoli
Bring a pot of water to a rolling boil at 212F (100C). Add the broccoli and cook exactly 60 seconds, until bright green and just crisp at the stem. Drain and plunge into ice water, then drain again thoroughly.
4. Sear the beef
Heat 2 tbsp oil in a wok or large skillet over high heat until it shimmers at about 400F (205C). Add half the beef in a single layer and sear 45 seconds per side until deep golden brown at the edges. Remove and repeat with the second batch.
5. Bloom the aromatics
Lower the heat to medium-high, add the remaining 1 tbsp oil, then the garlic and ginger. Stir constantly for 20 to 30 seconds until fragrant and just turning pale gold – do not let them brown.
6. Build the sauce
Pour in the sauce mixture and bring to a boil at about 212F (100C), stirring. Cook 60 to 90 seconds until it thickens enough to coat the back of a spoon and the edges bubble steadily.
7. Combine and finish
Return the beef and broccoli to the pan and toss 30 seconds until every piece is glossy and coated. Turn off the heat, drizzle in the sesame oil, and scatter sesame seeds over the top.
8. Serve immediately
Spoon over steamed jasmine rice right away – the sauce tightens as it cools. The beef should be tender with no pink inside and the broccoli still snappy.
Delicious Variations
Spicy Version
Add 1 tbsp chili garlic sauce or 4 dried chiles with the aromatics for a Sichuan-style kick.
Mushroom Beef and Broccoli
Swap half the broccoli for sliced shiitake and add them with the garlic for an earthier, meatier pan.
Gluten-Free
Use tamari instead of soy sauce and a gluten-free oyster sauce, and verify your broth is certified gluten-free.
How to Store Chinese Restaurant-Style Beef and Broccoli Stir Fry
Refrigerator
Store in an airtight container up to 3 days. Keep the rice separate so it does not soak up all the sauce.
Freezer
Freeze the beef and broccoli (without rice) up to 2 months in a freezer bag, pressing out the air. The broccoli softens on thaw, so it is best used in a stir fry refresh.
Reheating
Reheat in a hot skillet over medium-high heat with a splash of broth for 2 to 3 minutes, until bubbling at 165F (74C). Avoid the microwave, which toughens the beef.
Frequently Asked Questions
Q: How do I make beef and broccoli beef tender?
Velvet the beef with baking soda and cornstarch for 15 minutes and slice it against the grain. The baking soda raises the surface pH, which stops the proteins from tightening, and the cornstarch seals in moisture during the sear.
Q: Why is my beef and broccoli sauce watery?
Your pan was not hot enough or you added too much liquid at once. Bring the sauce to a full boil at 212F (100C) and let it bubble 60 to 90 seconds so the cornstarch can activate and thicken before you add the beef back.
Q: Can I use frozen broccoli for beef and broccoli?
Yes, but blanch it for only 15 seconds and drain it very well, or skip blanching entirely. Frozen florets release water, so pat them dry and add them at the very end to keep the sauce from thinning.
Q: What cut of beef is best for stir fry?
Flank steak is the classic choice, but skirt steak, sirloin, and ribeye all work well. Look for a cut with visible grain you can slice across and enough marbling to stay juicy at high heat.
Q: Is beef and broccoli healthy?
It can be a balanced meal – lean beef brings protein and iron while broccoli adds fiber and vitamin C. Watch the sodium from soy and oyster sauce, and serve it with steamed rice rather than fried rice to keep calories in check.
Give this beef and broccoli a try on your next busy weeknight and see how fast takeout loses its appeal. If you make it, leave a rating below and tell me whether you went classic or spicy!
Chinese Restaurant-Style Beef and Broccoli Stir Fry
This Chinese restaurant-style Beef and Broccoli stir fry has tender velveted beef and crisp broccoli in a glossy garlic-ginger sauce, ready in 30 minutes.
🧂 Ingredients
- 1 1/2 lb (680g) flank steak, sliced thinly against the grain
- 1/4 tsp baking soda
- 2 tbsp cornstarch, divided
- 3 tbsp soy sauce, divided
- 1 tbsp Shaoxing wine or dry sherry
- 1 lb (450g) broccoli florets, cut into 1-inch pieces
- 3 tbsp oyster sauce
- 1 tbsp brown sugar
- 3 tbsp neutral oil, divided
- 4 cloves garlic, minced, plus 1 tbsp minced fresh ginger
- 3/4 cup (180ml) low-sodium beef broth
- 1 tsp toasted sesame oil, plus sesame seeds for garnish
📋 Instructions
- 1Slice and velvet the beef — Slice the flank steak thinly against the grain into 1/8-inch strips. Toss with baking soda, 1 tbsp cornstarch, 1 tbsp soy sauce, and the Shaoxing wine, then let it sit 15 minutes at room temperature – the beef will look slightly tacky and glossy.
- 2Mix the sauce — Whisk the remaining 2 tbsp soy sauce, oyster sauce, brown sugar, beef broth, and remaining 1 tbsp cornstarch in a small bowl until no lumps remain. The slurry should look cloudy and uniform.
- 3Blanch the broccoli — Bring a pot of water to a rolling boil at 212F (100C). Add the broccoli and cook exactly 60 seconds, until bright green and just crisp at the stem. Drain and plunge into ice water, then drain again thoroughly.
- 4Sear the beef — Heat 2 tbsp oil in a wok or large skillet over high heat until it shimmers at about 400F (205C). Add half the beef in a single layer and sear 45 seconds per side until deep golden brown at the edges. Remove and repeat with the second batch.
- 5Bloom the aromatics — Lower the heat to medium-high, add the remaining 1 tbsp oil, then the garlic and ginger. Stir constantly for 20 to 30 seconds until fragrant and just turning pale gold – do not let them brown.
- 6Build the sauce — Pour in the sauce mixture and bring to a boil at about 212F (100C), stirring. Cook 60 to 90 seconds until it thickens enough to coat the back of a spoon and the edges bubble steadily.
- 7Combine and finish — Return the beef and broccoli to the pan and toss 30 seconds until every piece is glossy and coated. Turn off the heat, drizzle in the sesame oil, and scatter sesame seeds over the top.
- 8Serve immediately — Spoon over steamed jasmine rice right away – the sauce tightens as it cools. The beef should be tender with no pink inside and the broccoli still snappy.