
Beef and broccoli is the takeout order everyone knows by heart — and the one that’s easiest to beat at home. Tender strips of seared beef, broccoli that’s bright green and still has bite, and a savory-sweet garlic-ginger sauce that clings to everything. Thirty-two minutes, one pan, and a result that puts the soggy delivery container to shame.
Great stir-fry comes down to three things: a hot pan, dry ingredients, and not crowding the beef. That’s it. A quick 15-minute marinade with soy sauce and cornstarch gives the beef a head start on tenderness and browning, while blanching the broccoli separately guarantees it stays crisp-tender instead of turning to olive-green mush. If quick, bold dinners are your thing — like our crispy air fryer chicken tenders — this stir-fry earns a permanent spot in the rotation.
Pile it over steamed rice and watch it disappear. It’s naturally a complete meal — protein, vegetables, and a sauce good enough to drink — and the leftovers reheat like a dream for lunch. For another fast one-pan winner later in the week, the one-pot lemon herb chicken orzo brings the same weeknight energy in a completely different flavor direction.
Why You’ll Love This Recipe
- Takeout flavor, homemade quality. All the savory-sweet satisfaction of the restaurant classic, with better beef and brighter broccoli.
- Ready in 32 minutes. The marinade works while you chop, and the actual cooking takes about 12 minutes.
- Crisp-tender broccoli, guaranteed. Blanching separately means the broccoli stays vivid green with the perfect bite — never mushy, never raw.
- A genuinely balanced meal. Lean protein, a full serving of vegetables, and a sauce you’ll want on everything.
- Customizable heat and sweetness. Dial the sugar down, add chili crisp, swap the protein — the formula is endlessly flexible.
Ingredients
For the Beef and Marinade
- 1 1/4 lbs (570 g) sirloin or flank steak — sliced thin against the grain. Sirloin is more forgiving; flank is beefier.
- 2 tablespoons low-sodium soy sauce
- 1 tablespoon cornstarch — helps the beef brown and tenderizes the surface.
- 1 teaspoon toasted sesame oil
For the Stir-Fry
- 1 1/2 lbs (680 g) broccoli florets — about 2 medium heads, cut into bite-size pieces.
- 2 tablespoons vegetable oil, divided — for high-heat searing.
- 4 cloves garlic, minced, and 1 tablespoon fresh ginger, grated.
For the Sauce
- 1/3 cup (80 ml) low-sodium soy sauce
- 1/4 cup (60 ml) oyster sauce — the savory-sweet backbone; don’t skip it.
- 2 tablespoons packed brown sugar
- 2 teaspoons rice vinegar — a touch of brightness.
- 1 tablespoon cornstarch whisked with 1/2 cup (120 ml) water or low-sodium beef broth — your thickening slurry.
To Finish
- 1 teaspoon toasted sesame seeds and 2 green onions, thinly sliced.
- Steamed white or brown rice, for serving.

Instructions
- Marinate the beef. Toss the sliced beef with the 2 tablespoons soy sauce, 1 tablespoon cornstarch, and the sesame oil in a bowl until every strip is coated. Let it sit at room temperature for 15 minutes while you prep the rest. This short marinade seasons the meat and gives it a head start on browning.
- Blanch the broccoli. Bring a large pot of salted water to a rolling boil. Add the broccoli florets and cook exactly 2 minutes — they should turn vividly green and still feel firm when poked. Drain immediately, rinse under cold water to stop the cooking, and shake very dry in a colander. Wet broccoli will steam instead of sear and water down your sauce.
- Sear the beef hot and fast. Heat 1 tablespoon of the vegetable oil in a large skillet or wok over high heat until it just begins to smoke. Add the beef in a single layer — work in two batches if your pan is crowded — and sear 2 to 3 minutes, turning once, until browned at the edges. It doesn’t need to cook through completely; it will finish in the sauce. Transfer to a plate.
- Bloom the aromatics and build the sauce. Add the remaining tablespoon of oil to the hot pan, then the garlic and ginger. Stir-fry 30 seconds until fragrant — keep it moving so the garlic doesn’t burn. Pour in the soy sauce, oyster sauce, brown sugar, and rice vinegar, stirring until the sugar dissolves and the sauce comes to a bubble.
- Thicken until glossy. Give your cornstarch slurry a quick re-stir — cornstarch settles within seconds — and pour it into the bubbling sauce while stirring constantly. Cook 1 to 2 minutes until the sauce turns glossy and thick enough to coat the back of a spoon. It should look like a lacquer, not a soup.
- Bring it all together. Return the beef and broccoli to the pan and toss for 1 to 2 minutes, turning everything so each piece gets lacquered in sauce and heated through. Serve immediately over steamed rice with sesame seeds and green onions scattered over the top.

Tips & Variations
- Your pan must be genuinely hot. The oil should shimmer and just start to smoke before the beef goes in. A lukewarm pan gives you gray, steamed beef instead of browned, flavorful beef.
- Dry everything. Pat the beef dry before marinating and shake the broccoli very dry after blanching. Moisture is the enemy of a good sear.
- Stir the slurry right before pouring. Cornstarch settles in seconds — re-whisk right before pouring so it thickens the sauce.
- Spicy version: add 1 to 2 teaspoons of chili crisp or a sliced red chile with the garlic and ginger.
- Protein swaps: chicken breast strips, shrimp, or firm tofu all work with the same sauce — adjust searing time accordingly.
- Low-carb option: serve over cauliflower rice and swap the brown sugar for a sugar-free sweetener; the sauce still thickens beautifully.
Storage
Refrigerate leftovers in an airtight container for up to 4 days. Reheat in a hot skillet for 2 to 3 minutes to revive the texture — the microwave works in a pinch but softens the broccoli further. The sauce may thicken as it sits; a splash of water while reheating restores the gloss. Freeze for up to 2 months, though the broccoli will be softer after thawing.
FAQ
Why is my beef tough and chewy?
Almost always one of two things: you sliced with the grain instead of against it, or the pan wasn’t hot enough and the beef steamed instead of seared. Slice across the visible lines in the meat, get the pan smoking hot, and sear quickly in batches.
Can I use frozen broccoli?
Yes, with a tweak. Thaw it completely and squeeze out as much water as possible, then skip the blanching and add it straight to the sauce at the end. It won’t be as crisp, but the flavor will be right.
What can I use instead of oyster sauce?
Oyster sauce is really the signature flavor here, but in a pinch, mix 3 tablespoons of hoisin sauce with 1 tablespoon of soy sauce. For a vegetarian version, look for mushroom-based vegetarian oyster sauce — it tastes nearly identical.
How do I keep the broccoli bright green?
Blanch it separately for exactly 2 minutes, then shock it in cold water. This sets the chlorophyll and locks in the color. Adding raw broccoli straight to the stir-fry almost always leads to uneven cooking and dull color.
Recipe Card
- Prep Time: 20 minutes
- Cook Time: 12 minutes
- Total Time: 32 minutes
- Servings: 4
- Calories: 410 kcal per serving
Hot pan, glossy sauce, dinner in half an hour — this is the stir-fry that ends the takeout habit for good.











