HǎoWèi
Beef & Broccoli (西兰花炒牛肉) — Cantonese / Home-style recipe hero image
Cantonese / Home-styleMedium 30 min serves 3

Beef & Broccoli (西兰花炒牛肉)

西兰花炒牛肉 · xī lán huā chǎo niú ròu

家庭快手版 · Home version: The American take is a sweet brown glaze. The home-style version is lighter, with velvety beef and a savory oyster-soy sauce.

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

  1. 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 minutes

    Visual: 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.

  2. 2Blanch broccoli in boiling salted water 60-90 seconds, then shock in cold water. Drain well.

    焯西兰花后过冷水

    Look for 60-90 seconds

    Visual: 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.

  3. 3Mix sauce: oyster sauce + soy + cornstarch slurry in a small bowl.

    调碗汁

    Look for 1 minute

    Visual: Slurry fully dissolved, sauce uniform

    You know it's right when: No starch lumps at the bottom of the bowl

  4. 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 minutes

    Visual: 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)

  5. 5Add remaining oil + garlic + ginger; stir 15 seconds until fragrant. Return beef with any juices.

    爆香蒜姜,回锅牛肉

    Look for High heat 15 seconds

    Visual: Garlic edges just begin to color

    You know it's right when: Fragrant immediately

  6. 6Add broccoli, pour in the sauce. Toss rapidly 30-45 seconds until glossy and everything is coated.

    下西兰花,烹汁翻匀

    Look for High heat 30-45 seconds

    Visual: 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