Beef and Broccoli Stir Fry

A takeout classic made better at home — tender beef, crisp broccoli, and a savory umami sauce.

By Cressio Rinaldi

The best takeout beef and broccoli has two things that most home versions miss: beef that is soft enough to cut with a fork, and broccoli that is still green and crisp in the middle. The sauce is the easy part. The hard part is how you slice the meat, how hot your pan is, and when you stop cooking. Get those three right and you will never order it again.

This version keeps the ingredient list short on purpose. Flank steak, broccoli, soy sauce, oyster sauce, sesame oil, garlic, ginger and cornstarch. There is nothing to hunt for, and nearly everything is a pantry staple. What turns it into restaurant food is the method, and that is what this page is about.

Read the story section first if it is your first time. The stir-fry itself takes about fifteen minutes, and it moves fast. Once the pan is hot, there is no pausing to chop or measure.

Read this first

  1. Slice the beef thin and against the grain. This is what makes it tender.
  2. Cook the beef in batches. A crowded pan steams the meat instead of browning it.
  3. Get the pan very hot before anything goes in, and have the sauce mixed before you start.

Prep time: 10 mins · Cook time: 15 mins · Serves 4

Ingredients

Instructions

  1. Toss sliced steak with cornstarch and 1 tbsp soy sauce. Marinate for 10 minutes. Look for: Every slice has a thin, slightly sticky coating, with no dry cornstarch left in the bowl.
  2. Mix remaining soy sauce, oyster sauce, and sesame oil in a small bowl. Look for: A smooth, dark sauce with no streaks of oyster sauce. Keep it next to the stove.
  3. Heat a wok or large skillet over high heat. Cook steak in batches until browned. Remove. Look for: Browned edges on the beef and a pan that stays hot. If you see steam and gray meat, the pan is too crowded.
  4. In the same wok, stir-fry garlic and ginger for 30 seconds. Add broccoli and cook until bright green. Look for: Garlic and ginger smell fragrant within seconds. The broccoli turns bright green and still has a snap.
  5. Return steak to wok, pour in sauce, and toss everything together. Serve over rice. Look for: The sauce thickens a little and turns glossy, and it clings to the beef and broccoli.

Nutrition

Amount per serving. Nutritional values are estimates calculated from the ingredients above and can vary.

Notes

Cook It With Me

Slice the beef properly

Take the 1 lb of flank steak and look at the surface. You will see long lines running in one direction. That is the grain. Cut across those lines, not along them, in thin slices. If the steak is slippery or floppy, put it in the freezer for 15 to 20 minutes. Firm meat is much easier to slice thin, and thin slices cook in seconds.

The marinade and the sauce

Toss the sliced steak with the 2 tablespoons of cornstarch and 1 tablespoon of the soy sauce, and let it sit for 10 minutes. The cornstarch forms a light coating that protects the meat and helps it brown. While it sits, stir the rest of the soy sauce together with the 2 tablespoons of oyster sauce and the teaspoon of sesame oil in a small bowl. Do this now. Once the wok is hot, you won’t have time.

Get the wok hot, then cook the beef in batches

Heat a wok or a large skillet over high heat until it is properly hot. Add a tablespoon of neutral oil if your pan needs it, and then spread a layer of beef across the pan, one piece deep. Let it sit for a moment so it browns, then turn it. Take it out when it is browned and cook the next batch. It will feel slow to do it in batches, but this is the step that keeps the beef juicy and brown instead of gray and chewy.

Garlic, ginger and broccoli

In the same wok, stir-fry the 3 cloves of garlic and the teaspoon of ginger for just 30 seconds. They burn easily, so keep them moving. Add the 3 cups of broccoli florets and cook until they turn bright green. If the florets are large and still raw inside, add a splash of water and cover the pan for a minute.

Bring it together

Return the beef to the wok, pour in the sauce and toss everything together. The cornstarch on the beef thickens the sauce slightly, so it turns glossy and clings to every piece. Serve it right away over rice. It is at its best in the first few minutes.

The Ingredients, One by One

Flank steak

Flank is lean and full of flavor, with a long visible grain. It can be chewy if it is sliced wrong or cooked too long, which is why slicing against the grain and cooking in batches matter so much here. Sirloin or skirt steak also work.

Broccoli florets

Cut the florets to a similar size, about the size of a large bite, so they all cook at the same speed. Pat them dry if you have just washed them. Wet broccoli steams and takes longer to brown.

Soy sauce and oyster sauce

They are both salty, and both are doing different jobs. Soy sauce brings salt and savory depth. Oyster sauce adds a mild sweetness and body. Taste the sauce on a spoon before it goes in. If your soy sauce is very salty, use a low-sodium one.

Sesame oil

Toasted sesame oil is for flavor, not for cooking. It has a strong smell and burns easily, which is why it goes in the sauce and not into the hot pan.

Garlic and ginger

Fresh is best here. Mince the garlic fine and grate the ginger so it melts into the sauce instead of sitting in chunks. Thirty seconds in the hot pan is all they need.

Cornstarch

It does two jobs. It coats the beef so it stays tender and browns, and it carries over into the sauce to thicken it. Make sure each slice is coated and that no dry powder is left in the bowl.

The Technique Behind It

Why you slice against the grain

Muscle fibers in flank steak run in long strands. If you cut along them, each bite is a long, tough strand. Cutting across them shortens the fibers, so the meat feels tender when you chew.

Why high heat and batches go together

Browning needs a very hot surface. Every piece of cold meat you add cools the pan down. If you add everything at once, the pan drops in temperature, the meat releases water and it steams. Cooking in batches keeps the pan hot enough to brown.

Why the sauce is mixed first

A stir-fry gives you about a minute between the broccoli and the finish. Measuring sauce at that point means overcooked vegetables. Mixing it in a bowl ahead of time means you pour and toss.

How to Tell When the Broccoli Is Done

Stop at the first stage. Broccoli keeps cooking from the heat of the sauce and the pan after you turn it off.

StageWhat you seeWhat to do
Crisp-tender (best)Bright green, with a snap when you bite itAdd the beef and sauce right away.
Still rawDull, pale green and hard in the centerAdd a splash of water and cover for a minute.
OvercookedOlive green and softIt can’t be undone. Cut the florets larger next time.

Mistakes That Cost You the Dish

Fix It: If This Happens, Do This

ProblemLikely causeFix
Beef is toughSliced with the grain, or overcookedCut across the grain, slice thinner and cook each batch only until browned.
Beef is gray, not brownPan too crowded or not hot enoughHeat the pan longer and cook fewer pieces at a time.
Sauce is too saltySoy and oyster sauce are both saltyUse low-sodium soy sauce, and add a splash of water to loosen the sauce.
Sauce is thinNot enough cornstarch carried over from the beefLet it bubble for 30 more seconds over high heat.
Broccoli is raw insideFlorets are too largeAdd a splash of water, cover for a minute and then continue.
Garlic tastes bitterIt burnedNext time, add it for 30 seconds only and keep it moving.

What Each Ingredient Does (and What You Can Swap)

IngredientIts jobSwap, and what changes
Flank steakLean, flavorful and easy to slice thinSirloin or skirt steak work. Chicken breast or pork loin also work with the same method.
BroccoliCrunch, color and a mild flavorBroccolini, snap peas or bell peppers work. Adjust the cooking time.
Soy sauceSalt and savory depthLow-sodium soy sauce gives you more control. Tamari works if you need to avoid wheat.
Oyster sauceBody and a gentle sweetnessHoisin sauce is sweeter. A vegetarian oyster-style sauce works for a meat-free sauce.
Sesame oilToasted aromaThere is no real substitute. Leave it out rather than use something else.
Garlic and gingerAroma and heatFresh is best. Jarred versions are milder.
CornstarchCoats the beef and thickens the saucePotato starch works in the same amount.

Plan Ahead

What to Serve With It

Serve it over hot rice, and jasmine rice is the classic choice because it soaks up the sauce. Steamed rice, cauliflower rice or noodles also work. A few sliced green onions or a sprinkle of sesame seeds on top make it look finished.

Questions People Ask

Do I need a wok?

No. A large skillet over high heat works well. Just don’t crowd it.

Can I use frozen broccoli?

Yes, but it releases more water, so cook it over high heat and expect it to be softer.

How thin should the beef be?

About 1/8 inch, or as thin as you can manage. The freezer trick helps.

Can I skip the oyster sauce?

You can, but the sauce will taste thinner and saltier. Add a pinch of sugar to compensate.

Is it gluten free?

Not as written. Soy sauce and many oyster sauces contain wheat, so check labels or use tamari and a gluten-free oyster sauce.

What oil should I use?

A neutral oil with a high smoke point, such as vegetable or canola.

About the Author

Cressio Rinaldi

Cressio Rinaldi

Cressio Rinaldi is the recipe developer behind Cressio Recipes. He cooks, tests, and writes every recipe on the site himself — refining each one until it's simple enough for a weeknight and good enough to make again. He's not a trained chef, just someone who cooks constantly and pays close attention to what actually makes a recipe work.