Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) flank steak, sliced thin across the grain
- 12 oz (340 g) broccoli florets
- 2 tbsp neutral oil (canola/peanut), divided
- 1 tbsp minced fresh ginger; 3 cloves garlic, minced
- Marinade: 1 tbsp soy sauce, 1 tsp Shaoxing wine or dry sherry, 1 tsp cornstarch, 1/2 tsp baking soda, 1 tsp oil
- Sauce: 3 tbsp low-sodium soy, 1 tbsp oyster sauce, 1 1/2 tbsp brown sugar, 1/2 cup (120 ml) beef broth, 1 tsp rice vinegar, 1 tsp toasted sesame oil, pinch white pepper
- Slurry: 2 tsp cornstarch + 2 tbsp cold water
- Optional: 1/4 tsp red pepper flakes; sliced scallions; sesame seeds
Do This
- 1. Slice beef 1/8-inch thick; toss with marinade and rest 15 minutes.
- 2. Boil broccoli 2 minutes in salted water (212°F/100°C); drain and shock in ice water; pat dry.
- 3. Stir sauce in a bowl; mix slurry in a separate small bowl.
- 4. Heat wok over high until smoking (about 500°F/260°C). Add 1 tbsp oil; sear half the beef 45–60 seconds per side; repeat with remaining beef and oil.
- 5. Add ginger and garlic; stir-fry 20–30 seconds.
- 6. Return beef; pour in sauce and bring to a boil. Stir in slurry; toss 30–60 seconds until glossy.
- 7. Add broccoli; toss 60–90 seconds. Finish with sesame oil; garnish and serve.
Why You’ll Love This Recipe
- Restaurant-favorite flavor: glossy ginger–garlic–soy with a touch of oyster sauce and brown sugar.
- Tender beef every time thanks to a quick velveting marinade.
- Bright-green, snappy broccoli that stays crisp-tender.
- Weeknight-fast: 10 minutes at the stove once everything’s prepped.
Grocery List
- Produce: Broccoli florets, fresh ginger, garlic, scallions (optional)
- Dairy: None
- Pantry: Flank steak, low-sodium soy sauce, oyster sauce, light brown sugar, beef broth, rice vinegar, toasted sesame oil, cornstarch, baking soda, neutral oil, white pepper, red pepper flakes (optional), kosher salt
Full Ingredients
Beef and Marinade
- 1 lb (450 g) flank steak, trimmed and sliced 1/8-inch (3 mm) thick across the grain
- 1 tbsp low-sodium soy sauce
- 1 tsp Shaoxing wine or dry sherry (optional but traditional)
- 1 tsp cornstarch
- 1/2 tsp baking soda
- 1 tsp neutral oil (canola or peanut)
Sauce
- 3 tbsp low-sodium soy sauce
- 1 tbsp oyster sauce
- 1 1/2 tbsp packed light brown sugar
- 1/2 cup (120 ml) beef broth or water
- 1 tsp rice vinegar
- 1 tsp toasted sesame oil
- 1/8 tsp ground white pepper
- Optional: 1/4 tsp red pepper flakes for mild heat
Slurry
- 2 tsp cornstarch
- 2 tbsp cold water
Stir-Fry
- 12 oz (340 g) broccoli florets, cut into bite-size pieces
- 2 tbsp neutral oil, divided
- 1 tbsp fresh ginger, finely minced
- 3 cloves garlic, minced
- 2 scallions, thinly sliced (whites for stir-fry, greens for garnish; optional)
- Sesame seeds for garnish (optional)

Step-by-Step Instructions
Step 1: Slice and velvet the beef
For clean, thin slices, chill the flank steak in the freezer for 20–25 minutes until firm but not frozen. Slice across the grain into 1/8-inch (3 mm) strips. In a bowl, combine soy sauce, Shaoxing wine, cornstarch, baking soda, and oil. Toss beef until evenly coated. Marinate at room temperature for 15 minutes while you prep everything else.
Step 2: Mix the sauce and slurry
In a small bowl, whisk together soy sauce, oyster sauce, brown sugar, beef broth, rice vinegar, sesame oil, white pepper, and red pepper flakes (if using). In another small bowl, stir cornstarch with cold water to make a smooth slurry. Set both near the stove.
Step 3: Blanch the broccoli for snappy florets
Bring a large pot (at least 2 quarts/2 liters) of salted water to a full rolling boil (212°F/100°C). Add broccoli and cook for exactly 2 minutes until bright green and crisp-tender. Drain and immediately plunge into ice water to stop cooking. Drain again and pat very dry so it doesn’t steam the stir-fry.
Step 4: Sear the beef hot and fast
Preheat a wok or large heavy skillet dry over high heat until lightly smoking, about 2–3 minutes (surface around 500°F/260°C if using an infrared thermometer). Add 1 tbsp oil and swirl. Lay in half the beef in a single layer; do not move for 45–60 seconds, then stir-fry another 30–45 seconds until just browned but still pink in spots. Transfer to a plate. Repeat with remaining 1 tbsp oil and beef. Work in batches to prevent steaming.
Step 5: Bloom the aromatics
Return the empty wok to high heat. Add ginger, garlic, and the white parts of the scallions (if using). Stir-fry for 20–30 seconds until fragrant, scraping up any browned bits. Avoid burning.
Step 6: Build the sauce and glaze
Return the beef and any juices to the wok. Pour in the sauce and bring to a vigorous boil for 15–20 seconds. Give the slurry a quick stir and drizzle in half while tossing; cook 30–60 seconds until the sauce turns glossy and lightly coats the beef. Add more slurry a little at a time only if you want a thicker glaze.
Step 7: Finish with broccoli and serve
Add the blanched broccoli and toss 60–90 seconds until hot and evenly coated. Taste and adjust with a splash of soy or broth if needed. Off the heat, finish with a few drops of sesame oil. Garnish with scallion greens and sesame seeds. Serve immediately over steamed rice or noodles.
Pro Tips
- Velveting works fast: baking soda tenderizes quickly; keep marinating to about 15–20 minutes for best texture.
- Dry is key: pat broccoli dry and let excess marinade drip off the beef for a good sear.
- Cook in batches: crowding lowers the pan temperature and toughens the meat.
- Control thickness: add slurry gradually; the sauce should be glossy and pourable, not gluey.
- Heat matters: a properly preheated wok (near 500°F/260°C) gives that wok-bright, smoky flavor.
Variations
- Chicken and Broccoli: Swap beef for 1 lb (450 g) thin-sliced chicken thigh; cook through 3–4 minutes total.
- Gluten-Free: Use gluten-free tamari and a gluten-free oyster sauce; verify broth is gluten-free.
- Extra Saucy: Increase broth to 3/4 cup (180 ml) and brown sugar to 2 tbsp; add 1 extra tsp cornstarch to the slurry.
Storage & Make-Ahead
Refrigerate leftovers in an airtight container for up to 3 days; reheat in a hot skillet with a splash of water until simmering and steaming (reheat to 165°F/74°C). Blanch broccoli up to 24 hours ahead and store chilled on paper towels. Slice and marinate beef up to 12 hours with soy, wine, and cornstarch; add baking soda only in the last 30 minutes to avoid over-tenderizing. The mixed sauce keeps 3–4 days refrigerated.
Nutrition (per serving)
Approximate: 360 calories; 28 g protein; 15 g carbohydrates; 18 g fat; 3 g fiber; 9 g sugar; 1050 mg sodium.

