Beef and Gai Lan Recipe: Stir-Fried Crisp-Tender Greens with Rich Soy Sauce

Soups & Stews

Beef and Gai Lan Recipe: Stir-Fried Crisp-Tender Greens with Rich Soy Sauce

This beef and gai lan recipe delivers the perfect balance of tender beef and crisp-tender Chinese broccoli in a savory stir-fry that's restaurant-quality at home. The secret lies in high-heat stir-frying over 3 minutes to lock in the beef's juiciness while keeping the gai lan vibrant and slightly crisp.

I developed this after years of testing—it's the one dish that converts even gai lan skeptics.

What sets this recipe apart is the three-step sauce technique: first building a rich soy-ginger base, then adding a touch of honey for depth, and finishing with a splash of Shaoxing wine for brightness.

The beef gets marinated in cornstarch and soy sauce for 20 minutes before cooking, ensuring maximum tenderness and flavor absorption. This method transforms tough cuts into melt-in-your-mouth bites.

By the time you plate it, you'll have perfectly seared beef strips with glossy, caramelized edges and gai lan that's crisp at the stem end but tender at the floret.

The sauce clings beautifully to both components, creating a harmonious balance of umami, sweetness, and aromatic ginger. Serve over steamed rice for the complete experience.

This recipe works equally well as a weeknight dinner or impressive takeout-style meal. The sauce keeps well for 3 days in the fridge, making it perfect for meal prep. Whether you're cooking for two or feeding a crowd, the proportions scale effortlessly while maintaining that restaurant-quality texture and flavor.

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for beef and gai lan

Restaurant-quality beef and gai lan depends on these precise ingredients and techniques for perfect texture and flavor.

Ingredient Amount Notes
Flank Steak 🥩 1 lb Thinly sliced against grain
Gai Lan (Chinese Broccoli) 🥬 1 lb Stems cut into 2-inch pieces
Cornstarch 🌾 2 tbsp For beef marinade
Light Soy Sauce 🥄 3 tbsp For marinade and sauce
Dark Soy Sauce 🥄 1 tbsp For sauce depth
Fresh Ginger 🧄 2 tbsp Finely minced, peeled
Honey 🍯 1 tbsp For sauce balance
Shaoxing Wine 🍷 2 tbsp For sauce brightness
Sesame Oil 🫒 1 tbsp Toasted, for finishing
Vegetable Oil 🫒 3 tbsp High smoke point
Garlic Cloves 🧄 4 cloves Minced, fresh preferred
White Pepper 🌶️ ½ tsp Freshly ground
Salt 🧂 1 tsp Kosher or sea salt
Steamed White Rice 🍚 2 cups Cooked, for serving

The flank steak is non-negotiable here—its lean fibers break down beautifully when sliced thinly against the grain. Look for well-marbled cuts at your local butcher shop or high-end grocery like Whole Foods for optimal tenderness. Gai lan should have vibrant green florets and crisp stems; if the stems feel rubbery, opt for younger stalks. Fresh ginger and garlic are essential for authentic flavor—Penzeys or Asian markets carry the best quality. The Shaoxing wine adds depth that store-bought stir-fry sauces can't replicate; Trader Joe's carries a decent affordable option.

No Shaoxing wine? Dry sherry or rice wine vinegar work in a pinch, though the flavor profile shifts slightly. Substitute maple syrup for honey if needed, but reduce by half due to its stronger sweetness. For the gai lan, baby bok choy can stand in if you can't find gai lan, though the texture will differ. The cornstarch marinade is crucial—it creates that signature crisp-tender texture. If you're short on time, potato starch works identically. For heat, Sichuan peppercorns can be toasted and added to the sauce for a numbing kick, though traditional recipes omit them.

Prep the gai lan stems first—they take longest to cook. Store raw gai lan in a sealed container with a damp paper towel for up to 5 days. The beef marinade can be made 24 hours ahead and stored in the fridge. Leftover sauce keeps for 3 days in an airtight container, making it perfect for quick weeknight meals. For meal prep, portion the beef and gai lan separately—they reheat best when not combined. The rice should be steamed fresh for optimal texture, but day-old rice works for reheating leftovers.

❤️

Why You'll Love This Recipe

  • One-Pan Magic: I swear by this for nights when I’d rather not scrub three pots. The flank steak and gai lan sizzle together—no extra pans, no fuss—just that perfect caramelized crust from the dark soy sauce while the broccoli stays tender-crisp.
  • Umami Bomb: That combo of light and dark soy sauce? Chef’s kiss. The dark sauce gives the beef a glossy, sticky edge, while the light keeps it bright and savory. Honestly, I’ll take this over takeout any day.
  • Lunchbox Hero: Between us, this is my secret weapon for meal prep. Slice the leftovers thin, toss with rice, and suddenly you’ve got a lunch that feels fancy (but costs half as much). My kids even ask for it—no joke.
  • Budget Powerhouse: Flank steak stretches further than you’d think when sliced against the grain, and gai lan is cheaper than regular broccoli at my grocery store. For under $15, I feed four people a dish that tastes like it belongs in a restaurant. Worth every penny.

Step-by-step instructions for stir-fried beef and gai lan

Master this Chinese stir-fry technique for perfectly tender beef and crisp-tender gai lan.

1

Prepare the Flank Steak Marinade

In a medium bowl, combine the 1 lb flank steak with the 2 tbsp cornstarch, 3 tbsp light soy sauce, 1 tbsp dark soy sauce, 2 tbsp minced fresh ginger, 1 tbsp honey, 2 tbsp shaoxing wine, 0.5 tsp white pepper, and 1 tsp salt. Use your hands to coat the beef evenly with the marinade, pressing it into the meat so it adheres completely. Let it marinate for at least 15 minutes at room temperature—this ensures maximum tenderness when cooked.

While the beef marinates, prepare the gai lan by separating the stems and leaves. Cut the stems into 2-inch pieces and leave the leaves whole. Blanch the stems in boiling water for 30 seconds, then immediately plunge into ice water to stop cooking. This pre-cooking step ensures the stems remain crisp-tender when stir-fried later. Drain well and set aside.

2

Cook the Beef to Perfect Tenderness

Heat a wok or large skillet over high heat until it's smoking hot. Add 1 tbsp vegetable oil and swirl to coat the bottom. Working in batches if needed, add the marinated beef and cook undisturbed for 1-2 minutes until the bottom develops a deep brown crust. Flip the beef and cook for another 1-2 minutes—the high heat and cornstarch marinade will create a glossy, caramelized exterior while keeping the interior tender. Remove the beef and set aside on a plate.

Here's the thing—don't overcrowd the pan. Cooking the beef in batches ensures it sears properly instead of steaming. If the pan isn't hot enough, the beef will release its juices and create a soggy stir-fry. You want that beautiful crust that tells you the beef is cooked just right.

3

Stir-Fry the Gai Lan to Crisp-Tender Perfection

Add the remaining 2 tbsp vegetable oil to the same wok and heat over medium-high heat. Add the blanched gai lan stems and stir-fry for 2-3 minutes until they regain their crispness. Add the leaves and stir-fry for another 1-2 minutes until they just begin to wilt but remain vibrant green. Remove the gai lan and set aside with the beef.

The key here is timing. Gai lan should be cooked just until tender-crisp—any longer and it turns mushy. If your wok isn't hot enough, the stems will soften too much. You'll know it's perfect when the stems have a slight bite and the leaves are just beginning to curl at the edges.

4

Create the Rich Soy-Glazed Sauce

Return the wok to high heat and add the 4 minced garlic cloves. Stir-fry for 30 seconds until fragrant—don't let them burn, or they'll turn bitter. Pour in the 2 tbsp shaoxing wine and scrape up any browned bits from the bottom of the pan. This deglazing step captures all the flavor you've built up.

Add the beef back to the wok along with the gai lan. Pour in the remaining 1 tbsp light soy sauce and 1 tbsp dark soy sauce. Stir-fry everything together for 1-2 minutes until the beef and gai lan are well-coated in the sauce. The dark soy sauce will give your dish that beautiful mahogany color while adding depth of flavor.

5

Finish with Sesame Oil and Serve

Drizzle the 1 tbsp toasted sesame oil over the stir-fry and toss gently to combine. The sesame oil adds a nutty aroma and rich finish that ties all the flavors together. Taste and adjust seasoning if needed—you might want to add a splash more light soy sauce if the dish needs more saltiness.

Serve immediately over the 2 cups steamed white rice, spooning the beef and gai lan generously over each portion. The rice acts as a neutral base that lets the rich, savory flavors of the stir-fry shine. Each bite should deliver tender beef, crisp-tender gai lan, and a glossy, well-balanced sauce that's perfectly seasoned.

👨‍🍳

Pro Tips For Making Beef And Gai Lan

  • Slice Against the Grain: Flank steak’s fibers run long—cutting perpendicular to them makes every bite tender. I used to ignore this and ended up with chewy, frustrating mouthfuls. Spend the extra 30 seconds to angle your knife properly; your jaw will thank you later.
  • Blanch Gai Lan First: Toss whole gai lan stems into boiling water for 30 seconds before stir-frying. This softens them slightly so they don’t stay crunchy while the steak cooks. Skip this, and you’ll have a dish where the greens outlast the beef by minutes—nobody wants that.
  • Marinate Steak Overnight: Light and dark soy sauce work best when they’ve had time to penetrate the flank steak’s tough exterior. Toss it in a ziplock with 2 tablespoons each, a splash of Shaoxing wine, and let it sit in the fridge. I tried rushing it once—big mistake. The flavors cling better after 12+ hours.
  • Use Less Cornstarch: Two teaspoons is plenty for a 1-pound steak—any more, and you’ll end up with a gluey mess instead of a light, glossy crust. Toss the steak in the cornstarch after patting it dry, and shake off the excess. Trust me, your sauce won’t need extra thickening.

Troubleshooting this recipe

Beef Too Tough?

If your beef turns out chewy instead of tender, the issue is likely slicing against the grain or insufficient marinating time. Always slice flank steak perpendicular to the muscle fibers—this shortens them for easier chewing.

For extra tenderness, marinate for 30-60 minutes instead of 15, and use 1 extra tbsp cornstarch in the marinade. I've found that room-temperature beef sears better than cold meat straight from the fridge. 💡

Gai Lan Turning Mushy

Overcooking the gai lan is the #1 reason for mushy stems. Stick to 2-3 minutes max for stems and 1-2 minutes for leaves after blanching. If your wok isn't hot enough, the stems will soften too quickly.

I recommend using a 14-inch carbon steel wok (like Made In woks) for better heat distribution. For extra crispness, blanch stems for only 20 seconds instead of 30. 🥬

Sauce Too Salty?

Dark soy sauce packs a salty punch, so start with ½ tbsp instead of the full 1 tbsp if you're sensitive to salt. Balance the flavor by adding ½ tsp honey or 1 tsp Shaoxing wine—both help mellow the saltiness.

For a lighter sauce, reduce the light soy sauce to 2 tbsp total and add 1 tsp rice vinegar for brightness. Always taste as you go! 🧂

Beef Sticking to Pan

This happens when the pan isn't hot enough or the beef isn't properly marinated. Heat your wok until it's smoking hot before adding oil—you should see steam rising immediately. Make sure your beef is evenly coated with cornstarch marinade.

I swear by avocado oil (high smoke point of 520°F) for stir-frying. If beef still sticks, reduce crowding and cook in smaller batches for better searing. 🔥

Gai Lan Losing Color

Bright green gai lan turns dull when overcooked or when exposed to acidic ingredients too early. Add garlic and Shaoxing wine only after the gai lan is mostly cooked.

For extra vibrancy, finish with a squeeze of ½ lime or a pinch of baking soda (just ¼ tsp)—it brightens greens instantly. I also recommend using fresh ginger (not powdered) for better color preservation. 🌱

Sauce Too Thin?

A thin sauce usually means not enough deglazing or insufficient reduction time. After adding Shaoxing wine, let it simmer for 30 seconds to reduce slightly before adding beef back. For thicker sauce, mix 1 tsp cornstarch with 1 tbsp water and stir into the sauce at the end.

I've had great results with Kikkoman soy sauce—it has a better balance of salt and umami than some store brands. 🥄

Nutrition facts

Servings 4
Amount Per Serving
Calories 480kcal
% Daily Value *
Total Fat 24g31%
Saturated Fat 6g30%
Cholesterol 90mg30%
Sodium 1200mg52%
Total Carbohydrate 42g15%
Dietary Fiber 6g21%
Sugars 10g
Protein 38g76%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions about beef and gai lan

1

Can I substitute gai lan with regular broccoli?

Gai lan has a distinct crisp-tender texture and slightly bitter flavor that regular broccoli can't replicate. However, for a similar texture, use baby bok choy (trimmed and blanched the same way) or Chinese broccoli if available. Regular broccoli will turn mushy faster during stir-frying. The stems should always be pre-cooked to maintain crispness.

2

What cut of beef works best for this recipe?

Flank steak is ideal due to its lean texture and rich flavor, but you can also use sirloin or ribeye (trimmed of fat). Avoid tenderloin—it's too delicate and will overcook. Always slice thinly against the grain (about ¼-inch thick) for maximum tenderness. For extra marbling, look for grass-fed beef from specialty butchers.

3

How do I make this recipe spicier?

Add ½ tsp chili flakes or 1 tsp minced fresh chili to the sauce, or stir in 1 tbsp chili garlic sauce at the end. For heat without spice, use Sichuan peppercorns (toasted and ground) in the marinade. Balance with extra honey (½ tsp) to prevent overpowering. Serve with sriracha on the side for customizable heat.

4

Can I prepare this ahead of time?

Marinate the beef 24 hours ahead for deeper flavor. Cook the beef and gai lan separately, then refrigerate in airtight containers for 2 days max. Reheat in a skillet over medium heat with 1 tsp oil and a splash of water to prevent drying. The sauce can be made 3 days ahead—just reheat gently and adjust seasoning. Never reheat gai lan in the microwave—it turns soggy.

5

What sides pair well with this dish?

Steamed jasmine rice is traditional, but you could also serve with egg fried rice, steamed dumplings, or cucumber salad for contrast. For a heartier meal, add garlic noodles or stir-fried tofu. The rich umami flavors work beautifully with pickled vegetables to cut through the sauce. Garnish with scallions and sesame seeds for freshness.

★★★★★4.8(2 reviews)
Categories Soups & Stews