Following the restaurant’s secret of meat velveting and the perfect sauce formula, your homemade beef and broccoli will please any demanding palate.

Dishes featuring succulent beef are very popular on my blog. Examples include Black Pepper Beef, Hunan Beef Stir-fry, Sichuan Water Boiled Beef, etc. I’ve also received quite a few requests for a recipe for Beef and Broccoli, a beloved takeout favorite that’s very easy to make at home.
Jump to:
What is beef and broccoli
Beef and broccoli stir-fry (Xī Lán Huā Chǎo Niú Ròu/西兰花炒牛肉) is believed to be a variation of a classic dish of Cantonese cuisine Stir-fried Beef and Gai Lan (a type of leafy green known as Chinese broccoli). It’s a simple dish showcasing the merits of the two main ingredients.
Tender, silky, juicy beef slices and crispy broccoli florets are coated with a brown sauce rich in garlicky, salty-sweet and umami flavors. Well-cooked beef and broccoli is such a delight to eat! Also, it’s a great example of tasty ways to combine protein and vegetables rich in fiber.
Top tips
As always, I’d like to point out some top tips before explaining the detailed recipe:
- To make the beef tender and succulent: slice it across the grain; tenderize it with baking soda and cornstarch; rub in the liquid seasoning and water; do not overcook.
- Blanch (or steam) the broccoli briefly to retain its crunchy texture.
- To achieve the perfect consistency of the sauce, control the starch quantity, the heat and the cooking time.
Ingredients & substitutes
For this stir-fry recipe, you’ll need:
- Beef, marinated with tenderizing ingredients and seasonings
- Broccoli, fresh or frozen
- An oyster and soy sauce based sauce with cornstarch as a thickener
- Garlic and ginger for extra fragrance
Which beef cuts
For Chinese-style stir-fries, the following beef cuts are popular choices: Flank steak, skirt steak, sirloin steak, and rump steak.
Cheaper and tougher cuts (for braising) are not ideal. But if you need to use them, check out my recipe for Black Pepper Beef to learn how to apply an extra step to treat them.
For tenderizing
Tenderizing (aka velveting) the beef is crucial if you’re looking for the restaurant standard texture of stir-fried beef. The two key ingredients are baking soda and cornstarch. You’ll need to mix them with light soy sauce, salt, and some water to make a marinade.
🛎 Note: Although baking soda is a key ingredient, do not attempt to use more than the quantity suggested in the recipe (see below) as it may leave a strong alkaline taste.
Alternative vegetables
If you don’t have broccoli at hand, please feel free to replace it with other vegetables. Alternatives include celery, bell peppers, mushrooms, snow peas (mangetout), snap peas, zucchini (courgette), Gai Lan (Chinese broccoli), asparagus, carrots etc.
For the sauce
If you have equipped your pantry following my 10 Essential Chinese Condiment Guide, it’s easy to put the sauce together.
- To season the dish, you’ll need oyster sauce, light and dark soy sauce, Shaoxing rice wine, white pepper, sesame oil and a little sugar.
- To thicken the sauce, you’ll need cornstarch (or tapioca starch, potato starch, sweet potato starch, etc.) mixed with a little water.
Use a wok or skillet
Traditionally, Chinese stir-fried dishes are always cooked in woks, a versatile piece of equipment that distributes heat fast and evenly and holds the chopped ingredients very well while vigorously tossing and stirring.
Both carbon-steel wok and modern non-stick wok are suitable for this beef and broccoli recipe. If you’re new to wok cooking, read my Complete Wok Guide to learn the tips and tricks.
Don’t have a wok? Don’t fret. A large skillet (frying pan) works just fine for this dish. Ideally, they should have a high side so you’ll feel comfortable stirring the ingredients without spillage.
Cooking process
Here are all the steps involved in cooking beef and broccoli. Follow the sequence and tips for efficiency and the best result.
Step 1: Slice the beef
Check the direction of the beef grain then cut the piece across its grain into thin slices. Do not cut along the grain as this will result in a chewy texture.
Make sure the slices are neither too thick nor too thin. Thick pieces tend to be chewier and take longer to cook. If too thin, they can be easily torn when rubbed with the marinade. Aim for around 4 mm in thickness.
If you find slicing fresh meat challenging, keep the beef in the freezer for 1 hour or so until it’s semi-frozen. You’ll find it much easier to slice it consistently this way.
Step 2: Marinate the beef
To make the beef tender, juicy and flavorful, this is a crucial step not to be missed.
Put sliced beef in a bowl. Add baking soda, cornstarch, salt, light soy sauce and water. It’s best to rub the meat with your hand, instead of stirring with chopsticks, to efficiently distribute the marinade and “force” the liquid to be fully absorbed by the meat.
Afterward, stir in a little oil to “lock in” the moisture. Leave to marinate for at least 15 minutes but no longer than 4 hours (refrigerate if left longer than 30 minutes).
Step 3: Mix the sauce
While waiting for the beef to marinate, measure and mix all the ingredients for the sauce. So you don’t have to rush and panic once the cooking process starts.
Step 4: Blanch (or steam) the broccoli
If using a wok, bring water to a full boil then add chopped broccoli to blanch briefly. It takes me about 1 minute so the broccoli doesn’t lose its crispiness. Extend the time to 1½ minutes if you prefer a softer texture.
If you’re using a skillet for this dish, boil water enough to cover half the height of the broccoli florets. Cover with a lid to allow the steam to cook the vegetable. Drain and set aside.
Step 5: Sear the beef
Wipe dry the wok/skillet with a kitchen towel/paper. Heat it over medium-high heat then add cooking oil. Spread the marinated beef in a single layer and leave it to sear.
Once the bottom side turns light brown, flip and stir around to cook a little further. Transfer out as soon as most of the pieces lose their pinkness. Do not overcook.
Step 6: Combine the dish
Pour a little more oil into the wok/skillet. Fry minced garlic and ginger until they brown a little. Turn the heat to low. Stir the sauce mixture well, then pour it in.
Add the blanched broccoli and seared beef. Toss constantly while the sauce thickens. Watch attentively. Once it reaches the desired consistency (when it can coat the spatula with a thin layer but is still runny), turn off the heat immediately.
🛎 Note: It’s important that you keep the heat low during this step so that the starchy sauce doesn’t thicken too quickly. Also remember that as the dish cools, the consistency will become a little thicker.
If by accident your sauce becomes too sticky, don’t panic. Add a little water and stir well to thin it gradually.
What to serve with
The simplest way to enjoy is to serve it with a bowl of plain steamed rice. Don’t forget to scoop all the sauce and mix it with the rice.
It works as a noodle topping too. Either shop-bought dried noodles or homemade ones, such as hand-pulled noodles, fresh ramen, etc.
When serving it at dinners, I would pair it with other savory dishes that don’t involve stir-frying (for a more efficient workflow), for example, a salad like Smashed Cucumber, a steamed dish like Chicken & Mushroom, a soup like Egg Drop Soup, etc.
Recipe FAQs
A: Of course! Check out my post on Chicken Chop Suey to learn how to marinate and tenderize the chicken. Follow the rest of the instructions for this recipe.
A: You can simply double the quantity of the ingredients for the sauce. I’d recommend you don’t double the light soy sauce though just to avoid having an overly salty taste.
A: Blanch the broccoli in a big pot. Sear the beef in batches. Combine the meat and vegetable with the sauce in batches too as it’s not a good idea to overcrowd a wok or skillet.
📋 Recipe
Love this recipe? Please leave a 5-star 🌟🌟🌟🌟🌟 rating in the recipe card below & if you REALLY like it, consider leaving a comment as well!
Beef and Broccoli (西兰花炒牛肉)
Ingredients
For the beef
- 1 lb beef - flank, skirt, sirloin or rump steak
- ¼ teaspoon baking soda
- ⅛ teaspoon salt
- ½ tablespoon cornstarch
- 1 tablespoon light soy sauce
- 2 tablespoon water
- ½ tablespoon neutral cooking oil
For the sauce
- 2 tablespoon oyster sauce
- 1 tablespoon Shaoxing rice wine
- ½ tablespoon light soy sauce
- ½ tablespoon dark soy sauce
- 1½ tablespoon cornstarch
- 1 teaspoon sugar
- ⅛ teaspoon ground white pepper
- ½ teaspoon sesame oil
- 3 tablespoon water
You also need
- 1 medium-head broccoli - about 10oz/300g (see note for alternatives)
- 2 tablespoon neutral cooking oil - divided
- 1 tablespoon minced garlic
- 1 teaspoon minced ginger
Instructions
Marinate the beef
- Cut the beef, across its grain, into slices. Then put them into a bowl.
- Add baking soda, salt, cornstarch, light soy sauce and water. Stir and rub with your hand until the liquid is fully absorbed by the meat. Add oil and give a final rub to distribute it evenly. Leave to marinate for 15 minutes (refrigerate if left longer).
Prepare the sauce
- In a small bowl, mix oyster sauce, Shaoxing rice wine, light soy sauce, dark soy sauce, cornstarch, sugar, white pepper, sesame oil and water. Set aside.
Blanch the broccoli
- Cut broccoli into bite-sized pieces (including the stem part). Bring water to a full boil in a wok. Blanch the broccoli for 1 to 1½ minutes depending on your preference.
- If using a skillet (frying pan), make sure the water is covering half the height of the broccoli florets. Cover with a lid so that the steam will gather and cook the top part of the broccoli.
Sear the beef
- Wipe dry and heat the wok/skillet over medium-high heat. Pour in 1½ tablespoons of oil. Add the marinated beef. Distribute the pieces in a single layer to sear evenly.
- Once lightly brown on the side touching the wok/skillet, flip and stir-fry for a further 30 seconds or so until the meat loses its pinkness on the surface (do not overcook). Transfer the beef and its cooking liquid to a bowl/plate. Side aside.
Combine the dish
- Add the remaining ½ tablespoon of oil to the wok/pan. Stir-fry minced garlic and ginger until fragrant.
- Turn the heat to medium-low and pour in the sauce mixture (remember to stir it well beforehand in case any starch sinks to the bottom).
- Add the broccoli and the beef. Stir around while the sauce thickens. Dish out when it reaches your preferred consistency (bear in mind that it will become a little thicker as the dish cools).
NOTES
NUTRITION
NUTRITION DISCLOSURE: Nutritional information on this website is provided as a courtesy to readers. It should be considered estimates. Please use your own brand nutritional values or your preferred nutrition calculator to double check against our estimates.
Well explained
jUST gREAT !!!!! LOVED IT!!!!
Thank you so much for this recipe!! Exactly what I was searching for. I will definetly try it, love the crunchy Broccoli and the tender meat combined with garluc and dark Sauce… soooo yummie!! 😊👍
Hope you’ll enjoy cooking and eating it Karin!
Thank you, Wei!!
I tried your recipe yesterday and it worked out great!! I steamed the bitesized broccoli just about 2 – 3 Minute and it still had that nice crunch. The sauce was really nice in taste and the beef too. An easy to cook recipe with lots of flavour!! Yesterday we had plain white rice with the dish and today fried noodles with beansprouts and scallions. Yummie!! 😊😋😋😋 Best wishes from Bochum, Germany 🙋♀️😊
So happy to hear your positive feedback. Your two meals sound delicious!
🥰🥰🥰
This was great! Made it with skirt steak, broccoli, bell pepper and zucchini. Very tender, delicious and easy.
Yes! Make it even healthier with more veggies!
This was so good. I added a Zucchini and some mushrooms and double the sauce recipe. Served it over crispy chow mein noodles
That sounds like a great combination.
Best stir fry recipe ever! I also eat over wide rice noodles. Very delicious and easy recipe.
Yes, it would be delicious with noodles too! Glad you find my recipe helpful.
Tender meat is so enjoyable to eat, right? Glad you find my recipe helpful!
Delicious.! Directions easy to follow.
Wonderful to hear that!