
Beef & Broccoli (西兰花炒牛肉)
西兰花炒牛肉 · xī lán huā chǎo niú ròu
A favorite in Cantonese home kitchens and takeout menus alike. The difference between 'good' and 'soggy' comes down to two things: velveted beef, and broccoli that's blanched then flash-fried, never stewed.
Ingredients
- flank steak (or sirloin), sliced thin against the grain牛肉片local350 g
- broccoli, cut into small florets西兰花local1 head (~400 g)
- light soy sauce (marinade)生抽asian1 tbsp
- Shaoxing wine (marinade)料酒asian1 tbsp
- cornstarch (marinade)玉米淀粉local1 tbsp
- neutral oil (marinade, to seal)食用油local1 tsp
- oyster sauce蚝油asian2 tbsp
- light soy sauce (sauce)生抽asian1 tbsp
- cornstarch slurry (1 tsp starch + 2 tbsp water)水淀粉local3 tbsp total
- garlic, sliced蒜片local3 cloves
- ginger, sliced姜片local1 tsp
- neutral oil for cooking食用油local2 tbsp
- salt (for blanching)盐local1 tsp
flank steak (or sirloin), sliced thin against the grain: Slicing against the grain is 80% of tender beef.
Adjust to your taste
Pick a level and we'll show exactly how much to change — no more "适量".
Spice level
Saltiness
Oiliness
Make it vegetarian
Instructions
1Slice beef thinly against the grain. Marinate with soy, Shaoxing, and cornstarch; finish with 1 tsp oil to seal. Rest 10 minutes.
牛肉逆纹切片,上浆腌10分钟
Look for 10 minutesVisual: Beef coated in a glossy starchy glaze
You know it's right when: Glaze clings evenly, no dry patches
Freeze the beef 20 minutes first for easier thin slicing.
2Blanch broccoli in boiling salted water 60-90 seconds, then shock in cold water. Drain well.
焯西兰花后过冷水
Look for 60-90 secondsVisual: Broccoli turns bright green and is crisp-tender
You know it's right when: Stem pierces easily with a fork but florets still hold shape
Shocking stops the cooking — this is what keeps it green and snappy.
3Mix sauce: oyster sauce + soy + cornstarch slurry in a small bowl.
调碗汁
Look for 1 minuteVisual: Slurry fully dissolved, sauce uniform
You know it's right when: No starch lumps at the bottom of the bowl
4Heat 1.5 tbsp oil in a wok over high until smoking lightly. Add beef in one layer; sear 1 minute, then stir-fry until 80% cooked. Remove.
大火滑炒牛肉
Look for High heat 2 minutesVisual: Beef sears brown on edges, still slightly pink inside
You know it's right when: Beef releases from the pan easily (don't stir too early)
5Add remaining oil + garlic + ginger; stir 15 seconds until fragrant. Return beef with any juices.
爆香蒜姜,回锅牛肉
Look for High heat 15 secondsVisual: Garlic edges just begin to color
You know it's right when: Fragrant immediately
6Add broccoli, pour in the sauce. Toss rapidly 30-45 seconds until glossy and everything is coated.
下西兰花,烹汁翻匀
Look for High heat 30-45 secondsVisual: Sauce thickens to a glossy coat over beef and broccoli
You know it's right when: Sauce clings, no puddle left in the pan
Tips
- · Slicing against the grain + velveting = restaurant-tender beef at home.
- · Blanching the broccoli means the stir-fry is only 1 minute — nothing gets soggy.
- · Vegetarian? Swap beef for firm tofu (1:1) and use mushroom oyster sauce.
Ask HǎoWèi
Questions about technique, ingredients, substitutions, and flavor — answered from our verified cooking knowledge base.
Cook next

Kung Pao Chicken (宫保鸡丁)
宫保鸡丁 (Kung Pao Chicken (宫保鸡丁)) · gōng bǎo jī dīng

Mapo Tofu (麻婆豆腐)
麻婆豆腐 (Mapo Tofu (麻婆豆腐)) · má pó dòu fu

Egg Fried Rice (蛋炒饭)
蛋炒饭 (Egg Fried Rice (蛋炒饭)) · dàn chǎo fàn