30-Minute Beef & Broccoli Stir-Fry Bowls

Beef and broccoli is the takeout order everyone loves and nobody needs to order. The restaurant version leans on a vat of pre-made sauce and beef of mysterious tenderness; this one is faster than the delivery driver, built on thinly sliced flank steak seared ripping-hot, broccoli with actual char on the edges, and a glossy garlic-ginger sauce you whisk together in two minutes. Thirty minutes, one pan plus a pot of rice, and bowls with about 35g of protein each.

Overhead of beef and broccoli stir-fry bowls over jasmine rice with sesame seeds and green onions

Why you’ll love it

  • Faster than takeout. Thirty minutes flat — no delivery fee, no soggy cartons.
  • The velvet trick. A quick cornstarch toss gives the beef that silky takeout texture without any mystery.
  • ~35g protein per serving (estimated), from flank steak plus a full serving of broccoli.
  • One sauce, endless stir-fries. The garlic-ginger glaze works on chicken, shrimp, or tofu too.
Ingredients for beef and broccoli stir-fry: sliced flank steak, broccoli florets, sauce ingredients in small bowls

Ingredients

  • 1.25 lb flank steak, thinly sliced against the grain (about 1/8-inch strips)
  • 1 tbsp low-sodium soy sauce, plus 1/3 cup for the sauce
  • 1 tbsp cornstarch, plus 1 tablespoon for the sauce
  • 2 tbsp oyster sauce
  • 1 tbsp honey
  • 1 tbsp rice vinegar
  • 2 tsp toasted sesame oil
  • 1/3 cup water or low-sodium beef broth
  • 5 cups broccoli florets, about 2 medium heads
  • 3 tbsp neutral oil, avocado or canola; divided
  • 4 cloves garlic, minced
  • 1 tbsp fresh ginger, grated
  • 0.25 tsp red pepper flakes, optional
  • 3 cups cooked jasmine rice, for serving (start 1 cup dry rice first)
  • Toasted sesame seeds and sliced green onions, for serving
Flank steak being sliced thinly against the grain on a cutting board
Glossy stir-fry sauce being whisked in a small bowl

Equipment

A large wok or 12-inch skillet (cast iron or carbon steel is ideal), a small bowl and whisk for the sauce, and tongs.

Instructions

  1. Start the rice and slice the beef. Get the rice going first — it cooks while you stir-fry. Slice the flank steak thinly against the grain into 1/8-inch strips (partially freezing it for 15 minutes makes this much easier). Toss the strips with 1 tablespoon soy sauce and 1 tablespoon cornstarch; set aside while you prep everything else.
  2. Whisk the sauce. In a small bowl, whisk the remaining 1/3 cup soy sauce, oyster sauce, honey, rice vinegar, sesame oil, 1 tablespoon cornstarch, and the water until smooth. Cut the broccoli into bite-size florets and mince the garlic and ginger.
  3. Sear the beef. Heat 2 tablespoons oil in a wok or large skillet over high heat until shimmering and just starting to smoke. Sear the beef in a single layer in two batches, 1–2 minutes per side, until browned at the edges and cooked through. Transfer to a plate — don’t crowd the pan or the beef steams instead of sears.
  4. Char the broccoli. Add the remaining 1 tablespoon oil to the same pan. Add the broccoli and 2 tablespoons of water, cover, and steam 2 minutes. Uncover and cook 2–3 minutes more, stirring occasionally, until bright green with charred edges and crisp-tender bite.
  5. Sauce it up. Push the broccoli to the sides. Add the garlic, ginger, and red pepper flakes to the center; cook 30 seconds until fragrant. Return the beef to the pan, pour in the sauce, and toss everything 1–2 minutes until the sauce turns glossy and thick enough to coat a spoon.
  6. Bowl it up. Spoon over hot jasmine rice, shower with sesame seeds and green onions, and serve immediately.
Beef strips searing in a ripping-hot wok
Broccoli florets charring in the pan with light char marks
Minced garlic and grated ginger hitting the hot pan

Doneness cues: The beef is done when the thin strips show browned edges and no pink — at this thickness, 1–2 minutes per side over high heat is plenty. The broccoli is right when it’s vivid green with a few charred spots and still has bite; mushy broccoli means it went too long. The sauce is ready when it coats the beef with a shine instead of pooling thin.

Sauce poured over beef and broccoli, turning glossy
Close-up of glossy sauced beef and broccoli

30-Minute Beef & Broccoli Stir-Fry Bowls

Takeout-style beef and broccoli, faster than delivery: thinly sliced flank steak and crisp-tender broccoli in a glossy garlic-ginger sauce over rice — 30 minutes, about 35g protein per serving (estimated).
Prep Time 10 minutes
Cook Time 20 minutes
Total Time 30 minutes
Servings: 4 servings

Ingredients
  

  • 1.25 lb flank steak thinly sliced against the grain (about 1/8-inch strips)
  • 1 tbsp low-sodium soy sauce plus 1/3 cup for the sauce
  • 1 tbsp cornstarch plus 1 tablespoon for the sauce
  • 2 tbsp oyster sauce
  • 1 tbsp honey
  • 1 tbsp rice vinegar
  • 2 tsp toasted sesame oil
  • 1/3 cup water or low-sodium beef broth
  • 5 cups broccoli florets about 2 medium heads
  • 3 tbsp neutral oil avocado or canola; divided
  • 4 cloves garlic minced
  • 1 tbsp fresh ginger grated
  • 0.25 tsp red pepper flakes optional
  • 3 cups cooked jasmine rice for serving (start 1 cup dry rice first)
  • Toasted sesame seeds and sliced green onions for serving

Equipment

  • Large wok or 12-inch skillet (cast iron or carbon steel ideal)
  • Small bowl and whisk for the sauce
  • Tongs

Method
 

  1. Get the rice going first — it cooks while you stir-fry. Slice the flank steak thinly against the grain into 1/8-inch strips (partially freezing it for 15 minutes makes this much easier). Toss the strips with 1 tablespoon soy sauce and 1 tablespoon cornstarch; set aside while you prep everything else.
  2. In a small bowl, whisk the remaining 1/3 cup soy sauce, oyster sauce, honey, rice vinegar, sesame oil, 1 tablespoon cornstarch, and the water until smooth. Cut the broccoli into bite-size florets and mince the garlic and ginger.
  3. Heat 2 tablespoons oil in a wok or large skillet over high heat until shimmering and just starting to smoke. Sear the beef in a single layer in two batches, 1–2 minutes per side, until browned at the edges and cooked through. Transfer to a plate — don’t crowd the pan or the beef steams instead of sears.
  4. Add the remaining 1 tablespoon oil to the same pan. Add the broccoli and 2 tablespoons of water, cover, and steam 2 minutes. Uncover and cook 2–3 minutes more, stirring occasionally, until bright green with charred edges and crisp-tender bite.
  5. Push the broccoli to the sides. Add the garlic, ginger, and red pepper flakes to the center; cook 30 seconds until fragrant. Return the beef to the pan, pour in the sauce, and toss everything 1–2 minutes until the sauce turns glossy and thick enough to coat a spoon.
  6. Spoon over hot jasmine rice, shower with sesame seeds and green onions, and serve immediately.

Notes

Food safety: sear beef in batches over high heat — crowding steams it. Thin strips cook through in 1–2 minutes per side with browned edges. Refrigerate within 2 hours; 4 days fridge / 3 months freezer (broccoli softens on freezing). Protein ~35g/serving estimated from USDA FoodData Central; not lab-tested.

Nutrition note

Protein is estimated at about 35g per serving, calculated from USDA FoodData Central values for the listed ingredients — this is an estimate, not a lab analysis. Actual values vary by brand and preparation.

Substitutions and tips

  • Other cuts: Sirloin or skirt steak work the same way. Chicken thighs cut into strips need 3–4 minutes per side.
  • Frozen broccoli: Thaw it completely and pat very dry, or it will steam instead of char. Add 1 minute to step 4.
  • No oyster sauce? Use hoisin, or add 1 extra tablespoon soy sauce plus 1 teaspoon brown sugar.
  • Gluten-free: Swap in tamari and a gluten-free oyster sauce; everything else is naturally GF.
  • Don’t crowd the pan — the single biggest stir-fry mistake. Two quick batches beat one steamy pile.
  • Slice against the grain. Look for the lines running through the flank steak and cut across them; it’s the difference between tender and chewy.
Served bowls of beef and broccoli over rice with sesame and green onions

Storage and reheating

Refrigerate leftovers within 2 hours in an airtight container for up to 4 days (store rice separately if you can — it reheats better). Reheat in a hot skillet for 2–3 minutes until steaming, or microwave in 60-second bursts, stirring between. Freezes well for up to 3 months, though the broccoli softens — thaw overnight in the fridge. For meal prep, portion rice and stir-fry into separate compartments.

Meal-prep containers with rice and stir-fry in compartments

Frequently asked questions

What’s the best cut of beef for stir-fry? Flank steak is the sweet spot: affordable, beefy, and tender when sliced thin against the grain. Sirloin and skirt steak are close seconds.

How do I keep the beef from getting tough? Three things: slice thin against the grain, get the pan genuinely hot before the beef goes in, and don’t overcook — 1–2 minutes per side is all thin strips need.

Can I use frozen broccoli? Yes. Thaw fully and pat dry first so it chars instead of steaming.

Is this gluten-free? As written, no — but it gets there with tamari instead of soy sauce and a gluten-free oyster sauce.

Can I double the sauce? Absolutely — if you like things extra saucy over rice, make 1.5x the sauce. It thickens fast, so have everything ready before it hits the pan.

Overhead bowl of beef and broccoli with chopsticks resting on the rim

More 30-minute high-protein dinners

Another takeout fakeout: our 30-Minute Bang Bang Chicken & Broccoli brings the sweet heat. For a chicken version of the one-pan magic, try 25-Minute Honey Garlic Chicken & Green Beans. More high-protein pasta nights: 30-Minute Garlic Parmesan Chicken Pasta is all one pot.

Leave a Comment

Your email address will not be published. Required fields are marked *

Recipe Rating




Scroll to Top