Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (454 g) Angus sirloin steak, sliced into 1/4-inch (6 mm) strips
- 2 cups (about 180 g) baby broccoli/broccolini, cut into 2-inch pieces
- 1 medium yellow onion, cut into 1/2-inch wedges
- 8 oz (227 g) cremini mushrooms, sliced
- 2 tbsp high-heat neutral oil (avocado/canola), divided
- Marinade: 1 tbsp low-sodium soy sauce, 1 tbsp Shaoxing wine (or dry sherry), 1 tsp cornstarch, 1 tsp oil, 1/2 tsp baking soda (optional)
- Sauce: 1/3 cup low-sodium soy sauce, 1/4 cup beef broth, 2 tbsp oyster sauce, 1 1/2 tbsp packed light brown sugar, 1 tbsp rice vinegar
- Black pepper + finish: 1 1/2 tsp freshly cracked black pepper, 1 tsp toasted sesame oil
- Aromatics: 3 garlic cloves (minced), 1 tbsp fresh ginger (minced)
- Slurry: 2 tsp cornstarch + 2 tbsp cold water
Do This
- 1) Marinate sliced steak 15 minutes.
- 2) Mix sauce; whisk cornstarch slurry separately.
- 3) Blanch broccolini 2 minutes; drain well.
- 4) Sear steak in a very hot skillet, 60–90 seconds per side; remove.
- 5) Stir-fry onion, mushrooms, garlic, and ginger; add broccolini.
- 6) Pour in sauce; simmer; add slurry and cook until glossy.
- 7) Return steak; toss 30–60 seconds; serve hot.
Why You’ll Love This Recipe
- Fast, high-heat cooking gives you that restaurant-style sear and tender steak bites.
- The sauce is glossy, peppery, and savory with just enough sweetness to balance it.
- Baby broccoli, onions, and mushrooms make it hearty and colorful without extra fuss.
- Easy to scale up, meal-prep friendly, and great over rice or noodles.
Grocery List
- Produce: baby broccoli/broccolini, yellow onion, cremini mushrooms, garlic, fresh ginger, scallions (optional)
- Dairy: none
- Pantry: low-sodium soy sauce, oyster sauce, Shaoxing wine (or dry sherry), light brown sugar, rice vinegar, cornstarch, toasted sesame oil, neutral high-heat oil, black pepper, beef broth (or bouillon + water)
Full Ingredients
Steak
- 1 lb (454 g) Angus sirloin steak (or Angus ribeye), sliced against the grain into 2-inch long, 1/4-inch (6 mm) thick strips
Steak Marinade (15 minutes)
- 1 tbsp low-sodium soy sauce
- 1 tbsp Shaoxing wine (or dry sherry)
- 1 tsp cornstarch
- 1 tsp neutral oil (avocado, canola, grapeseed)
- 1/2 tsp baking soda (optional, helps tenderness and “takeout-style” texture)
Vegetables
- 2 cups (about 180 g) baby broccoli/broccolini, cut into 2-inch pieces (thicker stems halved lengthwise)
- 1 medium yellow onion (about 8 oz / 225 g), cut into 1/2-inch wedges
- 8 oz (227 g) cremini mushrooms, sliced 1/4-inch thick
- 3 garlic cloves, minced
- 1 tbsp fresh ginger, minced
Black Pepper Soy Sauce (Glossy, Slightly Sweet)
- 1/3 cup low-sodium soy sauce
- 1/4 cup (60 ml) beef broth
- 2 tbsp oyster sauce
- 1 1/2 tbsp packed light brown sugar
- 1 tbsp rice vinegar
- 1 1/2 tsp freshly cracked black pepper (plus more to finish, to taste)
- 1 tsp toasted sesame oil
Cornstarch Slurry
- 2 tsp cornstarch
- 2 tbsp cold water
For Cooking & Serving
- 2 tbsp high-heat neutral oil, divided
- 1/2 tsp kosher salt for blanching water (optional, but recommended)
- Sliced scallions for garnish (optional)
- Steamed white rice, brown rice, or noodles (optional, for serving)

Step-by-Step Instructions
Step 1: Slice the steak and marinate
Pat the steak dry with paper towels (this helps it sear instead of steam). Slice against the grain into 1/4-inch (6 mm) thick strips.
In a medium bowl, mix the marinade ingredients (1 tbsp soy sauce, 1 tbsp Shaoxing wine, 1 tsp cornstarch, 1 tsp oil, and optional 1/2 tsp baking soda). Add the steak and toss until evenly coated. Let marinate for 15 minutes at room temperature while you prep everything else.
Step 2: Mix the sauce and slurry
In a small bowl or measuring cup, whisk together the sauce ingredients: 1/3 cup soy sauce, 1/4 cup beef broth, 2 tbsp oyster sauce, 1 1/2 tbsp brown sugar, 1 tbsp rice vinegar, 1 1/2 tsp black pepper, and 1 tsp toasted sesame oil. Set aside.
In a separate small bowl, whisk 2 tsp cornstarch with 2 tbsp cold water until smooth. Set aside (give it one more stir right before using because it settles).
Step 3: Blanch the baby broccoli for crisp-tender bite
Bring a medium pot of water to a boil. Add 1/2 tsp kosher salt (optional, but it seasons the vegetables). Add the broccolini and blanch for 2 minutes.
Drain immediately and shake off excess water very well. (Wet vegetables can thin the sauce and slow browning in the pan.) Set aside.
Step 4: Sear the steak in a very hot pan
Place a wok or large skillet (12-inch works well) over high heat for 2 minutes to preheat. Add 1 tbsp of the neutral oil and swirl to coat.
Add half the steak in a single layer. Sear for 60–90 seconds without moving it, then flip and sear another 60 seconds, just until browned on the outside. Transfer to a plate. Repeat with the remaining steak, adding the remaining 1 tbsp oil as needed.
Temperature check (optional but precise): For medium doneness, aim for 135°F (57°C) in the thickest pieces. The steak will cook a bit more when tossed back into the sauce.
Step 5: Stir-fry onion, mushrooms, and aromatics
Keep the pan on high heat. If the pan looks dry, add 1–2 teaspoons more oil (from your pantry, if needed). Add the onion wedges and stir-fry for 1 minute.
Add the mushrooms and stir-fry for 2 minutes, until they start to brown and give off some moisture.
Add the minced garlic and ginger. Stir constantly for 30 seconds, just until fragrant (don’t let the garlic scorch).
Step 6: Add broccolini, then simmer the sauce until glossy
Add the blanched broccolini to the pan and toss for 1 minute to coat it with the aromatics and pick up flavor.
Whisk the sauce once more (pepper and sugar can settle), then pour it into the pan. Bring to a simmer and cook for 30–60 seconds.
Stir the cornstarch slurry again and drizzle it in while stirring. Continue cooking for 45–60 seconds, until the sauce thickens and turns glossy enough to cling to the vegetables.
Step 7: Return the steak and finish
Add the seared steak (and any juices on the plate) back into the pan. Toss constantly for 30–60 seconds, just until the steak is warmed through and coated in the sauce.
Taste and adjust: add a pinch more brown sugar if you want it slightly sweeter, or more freshly cracked black pepper if you want a sharper pepper bite.
Serve immediately over steamed rice or noodles. If using, garnish with sliced scallions and an extra pinch of cracked black pepper.
Pro Tips
- Cut against the grain: This is the easiest way to keep steak strips tender, even with quick high-heat cooking.
- Get the pan truly hot: Preheating for 2 minutes helps create browning fast, which builds that “takeout” flavor.
- Don’t overcrowd the steak: Sear in two batches so the meat browns instead of steaming.
- Use freshly cracked black pepper: Pre-ground pepper won’t give the same bold, fragrant bite that defines the dish.
- Thicken at the end: Add slurry only after the sauce is bubbling; it thickens quickly and stays glossy.
Variations
- Spicier black pepper: Add 1/4 tsp crushed red pepper flakes with the garlic and ginger, or a thinly sliced fresh chili.
- Extra veggie version: Add 1 cup sliced bell peppers (any color) and/or 1 cup snap peas; stir-fry peppers with the onions.
- Chicken or tofu swap: Use 1 lb chicken breast/thigh (thin strips) or extra-firm tofu (pressed, cubed). Sear the same way, then toss in sauce.
Storage & Make-Ahead
Refrigerate leftovers in an airtight container for up to 4 days. Reheat in a skillet over medium heat for 3–5 minutes, adding 1–2 tbsp water or broth to loosen the sauce as needed. For best texture, avoid microwaving too long (it can overcook the steak and soften the vegetables).
Make-ahead options: slice the steak and mix the sauce up to 24 hours ahead; store separately in the refrigerator. You can also blanch the broccolini ahead and chill it—just dry it well before stir-frying.
Nutrition (per serving)
Approximate, based on 4 servings (not including rice/noodles): 390 calories; 33 g protein; 26 g carbohydrates; 15 g fat; 3 g fiber; 9 g sugar; 980 mg sodium.

