A takeout classic made better at home — tender beef, crisp broccoli, and a savory umami sauce.
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.
Prep time: 10 mins · Cook time: 15 mins · Serves 4
Amount per serving. Nutritional values are estimates calculated from the ingredients above and can vary.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Stop at the first stage. Broccoli keeps cooking from the heat of the sauce and the pan after you turn it off.
| Stage | What you see | What to do |
|---|---|---|
| Crisp-tender (best) | Bright green, with a snap when you bite it | Add the beef and sauce right away. |
| Still raw | Dull, pale green and hard in the center | Add a splash of water and cover for a minute. |
| Overcooked | Olive green and soft | It can’t be undone. Cut the florets larger next time. |
| Problem | Likely cause | Fix |
|---|---|---|
| Beef is tough | Sliced with the grain, or overcooked | Cut across the grain, slice thinner and cook each batch only until browned. |
| Beef is gray, not brown | Pan too crowded or not hot enough | Heat the pan longer and cook fewer pieces at a time. |
| Sauce is too salty | Soy and oyster sauce are both salty | Use low-sodium soy sauce, and add a splash of water to loosen the sauce. |
| Sauce is thin | Not enough cornstarch carried over from the beef | Let it bubble for 30 more seconds over high heat. |
| Broccoli is raw inside | Florets are too large | Add a splash of water, cover for a minute and then continue. |
| Garlic tastes bitter | It burned | Next time, add it for 30 seconds only and keep it moving. |
| Ingredient | Its job | Swap, and what changes |
|---|---|---|
| Flank steak | Lean, flavorful and easy to slice thin | Sirloin or skirt steak work. Chicken breast or pork loin also work with the same method. |
| Broccoli | Crunch, color and a mild flavor | Broccolini, snap peas or bell peppers work. Adjust the cooking time. |
| Soy sauce | Salt and savory depth | Low-sodium soy sauce gives you more control. Tamari works if you need to avoid wheat. |
| Oyster sauce | Body and a gentle sweetness | Hoisin sauce is sweeter. A vegetarian oyster-style sauce works for a meat-free sauce. |
| Sesame oil | Toasted aroma | There is no real substitute. Leave it out rather than use something else. |
| Garlic and ginger | Aroma and heat | Fresh is best. Jarred versions are milder. |
| Cornstarch | Coats the beef and thickens the sauce | Potato starch works in the same amount. |
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.
No. A large skillet over high heat works well. Just don’t crowd it.
Yes, but it releases more water, so cook it over high heat and expect it to be softer.
About 1/8 inch, or as thin as you can manage. The freezer trick helps.
You can, but the sauce will taste thinner and saltier. Add a pinch of sugar to compensate.
Not as written. Soy sauce and many oyster sauces contain wheat, so check labels or use tamari and a gluten-free oyster sauce.
A neutral oil with a high smoke point, such as vegetable or canola.
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.