Beef and Broccoli Stir Fry

This Chinese-style beef and broccoli stir-fry pairs thin slices of marinated steak with crisp-tender broccoli in a glossy, savoury brown sauce. It comes together quickly and makes a satisfying family dinner, especially with steamed rice.
Ingredients
- 454 g (1 lb)steak, such as flank or rib-eye
- 3–4 cups (about 270–360 g)broccoli florets
- 3 slicesfresh ginger
- 2 clovesgarlic, thinly sliced
- 2 stalksspring onions
- 60 ml (¼ cup)water, for steaming the broccoli
- 22.5 ml (1½ tablespoons)soy sauce
- 7.5 ml (½ tablespoon)Shaoxing wine (optional; dry sherry can be used instead)
- 5 ml (1 teaspoon)sesame oil
- 30 ml (2 tablespoons)water
- 5 ml (1 teaspoon)cornflour
- 15 ml (1 tablespoon)oil
- 37.5 ml (2½ tablespoons)soy sauce
- 5 ml (1 teaspoon)dark soy sauce (optional, for colour)
- 30 ml (2 tablespoons)oyster sauce
- 15 ml (1 tablespoon)Shaoxing wine (optional)
- 5 ml (1 teaspoon)sugar
- 30 ml (2 tablespoons)cornflour
- 240 ml (1 cup)water
- 2.5 ml (½ teaspoon)sesame oil, to add after cooking the sauce
Instructions
- 1
Prepare aromatics
Slice the ginger and thinly slice the garlic. Finely chop the spring onions, keeping the white and green parts separate; reserve the greens for garnish. Cut the broccoli into florets, tearing them into pieces about 2.5 cm (1 inch) across if you like.
- 2
Mix the sauce
In a small bowl, whisk the 30 ml (2 tablespoons) cornflour into the 37.5 ml (2½ tablespoons) soy sauce until smooth, with no lumps. Stir in the oyster sauce, 15 ml (1 tablespoon) Shaoxing wine, sugar, dark soy sauce if using, and 240 ml (1 cup) water until the sugar dissolves. Set aside.
- 3
Slice the steak
For easier slicing, you can put the steak in the freezer for 30 minutes to firm it up. Slice it thinly, about 3 mm (⅛ inch), against the grain. As an optional tenderising step, mix 2.5 ml (½ teaspoon) baking soda with the beef and leave it for about 20 minutes; rinse it off thoroughly and gently squeeze out excess rinsing water before marinating.
- 4
Marinate the beef
Mix the steak with 22.5 ml (1½ tablespoons) soy sauce, 5 ml (1 teaspoon) sesame oil, 7.5 ml (½ tablespoon) Shaoxing wine and 30 ml (2 tablespoons) water. Leave to marinate for 10–15 minutes. Do not add the cornflour or oil yet.
- 5
Steam the broccoli
Heat a little oil in a pan over medium heat. Stir-fry the broccoli for 1 minute, then add 60 ml (¼ cup) water and cover the pan to steam for 2 minutes. Taste a piece; steam for another 30 seconds to 1 minute if you prefer it softer. Take the broccoli out of the pan and set aside.
- 6
Stir-fry the beef
Mix 5 ml (1 teaspoon) cornflour into the marinated beef, then coat the slices with 15 ml (1 tablespoon) oil. Wipe any remaining water from the pan and heat it over high heat. Add a little oil and the ginger; brown for about 1–2 minutes, then add the garlic and brown for 30 seconds. Add more oil, then arrange the beef and spring onion whites in a single layer. Sauté for about 1–2 minutes, until the beef is about 80% cooked. Remove it and set it aside with the broccoli; discard the ginger if you wish.
- 7
Finish the stir-fry
Stir the sauce, scraping up the cornflour that has settled at the bottom, then pour it into the pan. Keep stirring until it bubbles and thickens and turns from light brown to dark brown. Mix in 2.5 ml (½ teaspoon) sesame oil. Return the beef and broccoli to the pan, coat them in the sauce and stir-fry for about 1 minute. Serve with steamed rice.
What is beef and broccoli stir-fry?
Beef and broccoli is a Chinese-American style stir-fry built around tender beef, green broccoli and a savoury brown sauce. Stir-frying suits the dish because the ingredients cook quickly over high heat and keep their distinct textures.
This version uses a short soy-based marinade and a cornflour-thickened sauce. The broccoli is steamed briefly in the pan before the beef is cooked, so both can be finished together without overcooking either.
Nutrition and macros by portion
The nutrition label shows one serving as written: 351 calories, 27g protein, 13g carbs, 21g fat.
| Portion | Adjustment | kcal | Protein | Carbs | Fat |
|---|---|---|---|---|---|
| Lighter | Use leaner steak, less oil | 246 kcal | 19g | 9g | 15g |
| This serving | As written | 351 kcal | 27g | 13g | 21g |
| Hungry | Add extra rice | 527 kcal | 41g | 20g | 32g |
The steak provides most of the protein, while the broccoli and sauce contribute some carbohydrates; rice served alongside adds considerably more. Most of the fat comes from the steak and cooking oil, with a smaller amount from sesame oil. For a balanced plate, serve a moderate portion of rice with a generous helping of broccoli.
Choose and slice the beef
Cut: Flank steak or rib-eye both work, as does another steak suitable for quick cooking. A brief 30-minute stint in the freezer is optional but can make the meat easier to slice.
Grain: Look for the direction of the muscle fibres and cut across them into slices about 3 mm thick. This shortens the fibres and helps the beef stay tender in a fast stir-fry.
Build the brown sauce
Cornflour first: Whisk it into the soy sauce before adding the other liquids. This helps prevent lumps and makes it easier to incorporate the remaining sauce ingredients.
Dark soy: It is optional and is included mainly for a deeper colour. The sauce still gets its savoury flavour from soy and oyster sauces, with a little sweetness from the sugar.
Steam broccoli to your liking
Quick steam: Stir-frying the florets for 1 minute before adding water gives them a head start. Cover the pan for 2 minutes, then taste one to judge whether it needs the optional extra 30 seconds to 1 minute.
Size matters: Pieces close to 2.5 cm cook more evenly than a mix of very small and very large florets. Remove the broccoli from the pan once it reaches the texture you prefer; it will be warmed through again at the end.
Marinate, then coat
Marinade: The steak rests for 10–15 minutes with soy sauce, sesame oil, Shaoxing wine and water. The recipe keeps the cornflour and oil out of this mixture until just before stir-frying.
Final coating: Add the teaspoon of cornflour and tablespoon of oil after marinating, mixing to coat the slices. The recipe also offers an optional baking soda treatment; if you use it, rinse it off thoroughly before marinating.
Cook in stages
Aromatics: Brown the ginger for 1–2 minutes, then the garlic for 30 seconds, keeping an eye on them so they do not burn. The ginger can be removed before serving if you prefer.
Beef: Cook the slices with the spring onion whites for about 1–2 minutes, until they are around 80% done, then take them out of the pan. They finish cooking when returned to the bubbling sauce.
Serve with rice
Steamed rice is the suggested accompaniment and soaks up the glossy sauce. Serve it alongside or underneath the beef and broccoli, and scatter the reserved spring onion greens over the top.
Recipe notes & tips
- Slice the steak across the grain so the pieces are easier to bite through.
- Keep the spring onion whites and greens separate so the whites cook with the beef and the greens stay fresh for garnish.
- Taste the broccoli after the initial 2-minute steam before deciding whether to cook it further.
- Stir the sauce just before pouring it into the pan, as the cornflour settles to the bottom.
- Have the beef and broccoli ready beside the hob before thickening the sauce, as the final stir-fry takes about 1 minute.
Variations
- Skip the wine: Leave out the optional Shaoxing wine in the marinade or sauce, or use dry sherry in the marinade.
- Deepen the colour: Add the optional dark soy sauce to the sauce mixture.
- Choose another steak: Use a steak you like, slicing it thinly against the grain.
- Adjust the broccoli: Steam it for the extra 30 seconds to 1 minute if you prefer softer florets.
- Add a rice base: Serve the stir-fry over steamed rice to make it a more substantial meal.
Common mistakes to avoid
- Slicing with the grain: The beef can seem tougher; cut across the visible muscle fibres instead.
- Adding cornflour too early: Keep it out of the marinade and mix it into the beef just before stir-frying.
- Skipping the sauce stir: Cornflour settles in the bowl; stir well before pouring the sauce into the pan.
- Overcooking the beef: Remove it when it is about 80% done, then return it to finish in the sauce.
- Burning the garlic: Add it after the ginger and brown it for only about 30 seconds.
How to store
Refrigerate leftovers in a covered container and use within 3 days. Reheat in a pan over medium heat until piping hot, stirring gently; add a small splash of water if the sauce has thickened too much.
Frequently asked questions
Can I use a different cut of steak?
Yes. Flank and rib-eye are suggested, but another steak can work. Whichever you choose, slice it thinly across the grain.
Can I leave out the Shaoxing wine?
Yes, it is optional. Dry sherry is suggested as a substitute for the wine in the marinade.
Do I need to use baking soda?
No, it is an optional step. If you do use it, leave it with the beef for about 20 minutes, then rinse it off thoroughly before marinating.
How do I stop the sauce from going lumpy?
First whisk the cornflour into the soy sauce until smooth, then add the remaining sauce ingredients. Stir the sauce again before it goes into the hot pan, as the cornflour settles.
How soft should the broccoli be?
After 2 minutes of steaming, taste a piece. If you want it softer, cover and steam it for another 30 seconds to 1 minute.
What should I serve with beef and broccoli?
The recipe suggests steamed rice. It pairs well with the savoury sauce and makes the dish more filling.
Cook it from the original
This recipe comes from pupswithchopsticks.com. Their page has the author’s own photos, notes and tips — the best place to cook it from.
Open the recipe on pupswithchopsticks.com