Stir-Fried Beef With Chinese Broccoli Recipe

Not your fast-food Chinese restaurant's beef with broccoli.

Stir-fried beef with Chinese broccoli (or gai lan) on a plate.

Serious Eats / Shao Z.

Why It Works

  • Blanching the Chinese broccoli first guarantees tender greens that will cook through without burning during stir-frying.
  • Stir-frying in batches keeps the wok as hot as possible for the best flavor.

If I were to write a list of the top five classic Cantonese dishes, beef with broccoli would be on there for sure. Most North Americans know it as a staple of Chinese fast-food joints, featuring tender strips of beef and florets of broccoli. But the original version uses gai lan, also known as Chinese broccoli.

Not familiar with gai lan? It tastes like a slightly less bitter version of broccoli rabe. Its stalks are usually thick with large flat leaves and sometimes tiny flower buds. Gai lan is great when it's stir-fried with just a little bit of garlic or poached in water, drizzled with a bit of oyster sauce, and topped with crispy fried garlic. Its flavor is also robust enough to be paired with meats such as pork belly and beef.

Two bunches of gai lan on a white surface.

Serious Eats / Shao Z.

You'll find two different types of gai lan at most Asian supermarkets. First is the regular gai lan with the thick stalks. The second variety is baby gai lan, sometimes labeled as gai lan "tips". It has thinner stalks, more leaves, and is typically more tender compared to the mature version. Don't worry, I'll share instructions for both types.

As for the dish itself, it's as simple as it seems. The key to success is understanding basic stir-frying skills and how to marinate meat for stir-fries.

To begin, you'll marinate the beef for at least 30 minutes in a mixture including soy sauce, Shaoxing wine, and cornstarch.

Chinese broccoli cut into sections.

Serious Eats / Shao Z.

Before you start the stir-fry, blanch the gai lan first. Gai lan with thicker stems will take about a minute to become crisp-tender; baby gai lan, with its thin stalks, only needs about 30 to 40 seconds.

The key to a good stir-fry is a hot wok. Because home burners aren't quite powerful enough to keep a fully loaded wok hot enough, it's best to break up the recipe into a few different stages.

Sliced marinated beef in a wok.

Serious Eats / Shao Z.

Here, that means stir-frying the beef first, then taking it out.

Thinly sliced shallots and chopped garlic on a cutting board.

Serious Eats / Shao Z.

Next up are shallots and garlic. After a little less than a minute in the wok, they'll begin to soften slightly. Add the gai lan and return the beef back to the wok at this point, then add the sauce. Everything gets tossed together in the wok to combine and heat through.

Pouring sauce into a wok containing gai lan stir-fry.

Plate the dish and serve it hot with a bowl of rice on the side. No matter which variety of gai lan you use, the combination of gai lan, beef, and oyster sauce is a winning combo.

March 2015

Recipe Facts



Active: 30 mins
Total: 60 mins
Serves: 2 to 4 servings

Rate & Comment


For the Beef and Marinade:

  • 3/4 pound beef flank steak, sliced across the grain 1/8 inch thick

  • 1/2 teaspoon soy sauce

  • 1/2 teaspoon Shaoxing wine

  • 2 teaspoons vegetable or canola oil

  • 1/2 teaspoon cornstarch

  • 1/2 teaspoon kosher salt

  • 1/4 teaspoon sugar

  • 1/4 teaspoon ground white pepper

For the Sauce:

  • 2 tablespoons water

  • 1 teaspoon sesame oil

  • 2 teaspoons oyster sauce

  • 1 teaspoon soy sauce

  • 1 teaspoon cornstarch

For the Stir-Fry:

  • 1/2 pound Chinese broccoli (gai lan or baby gai lan), cut into 3 sections on the diagonal if regular gai lan or in half on the diagonal if baby gai lan

  • 2 tablespoons vegetable or canola oil, divided

  • 2 whole shallots, sliced

  • 8 cloves of garlic, chopped very coarsely

  • Cooked white rice, for serving


  1. For the Beef and Marinade: In a medium bowl, combine beef with all marinade ingredients. Mix well and let stand 30 minutes.

    Mixing the beef and marinade in a bowl with chopsticks.
  2. Meanwhile, For the Sauce: In a small bowl, combine sauce ingredients and set aside.

  3. For the Stir-Fry: Fill a wok halfway with water, season with salt, and bring to a boil. Add Chinese broccoli and cook until crisp-tender, about 1 minute for regular gai lan and 30 seconds for baby gai lan. Drain and set aside.

    Gai lan blanching in a wok.
  4. Wipe wok dry, then return to heat. Add 1 tablespoon oil and heat over high heat until smoking. Add beef, spreading it out in an even layer with a spatula, and cook without moving until lightly browned on bottom, about 1 minute. Continue to cook while stirring regularly until about halfway cooked through, about 2 minutes longer. Transfer to a bowl and set aside.

    Beef slices cooking in a hot wok.
  5. Add remaining 1 tablespoon oil to wok and heat over high heat until smoking. Add shallots and garlic and cook, stirring constantly, until softened, about 1 minute. Add Chinese broccoli and cook, stirring frequently, for 1 minute. Season with salt.

    Gai lan, garlic and shallots stir-fried in a wok.
  6. Return beef to wok and toss to combine. Stir sauce to combine, then pour into center of wok; stir to combine. Continue to cook, stirring, until the sauce begins to thicken, about 1 minute. Transfer to a serving platter immediately and serve with white rice.

    Close up view stir-fried beef and gai lan in a wok.

Special Equipment



When shopping for Chinese broccoli, look for bright green, bruise-free, crisp leaves with no yellow spots. The tiny flower buds should be tight and compact. Also check the ends of the stalks and make sure they are not dry or crusted.

Nutrition Facts (per serving)
358 Calories
18g Fat
22g Carbs
27g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 2 to 4
Amount per serving
Calories 358
% Daily Value*
Total Fat 18g 23%
Saturated Fat 4g 19%
Cholesterol 67mg 22%
Sodium 406mg 18%
Total Carbohydrate 22g 8%
Dietary Fiber 3g 10%
Total Sugars 3g
Protein 27g
Vitamin C 20mg 102%
Calcium 103mg 8%
Iron 3mg 16%
Potassium 591mg 13%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)