Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 1/2 cups jasmine rice, rinsed + 2 cups water
- 1 lb flank steak, thinly sliced against the grain
- Marinade: 1 tbsp low-sodium soy sauce, 1 tsp cornstarch, 1/4 tsp baking soda, 1 tsp toasted sesame oil
- 4 cups broccoli florets (about 1 large head)
- 3 cloves garlic (minced), 1 tbsp fresh ginger (minced), 2 scallions (sliced)
- 2 tbsp neutral oil (canola or avocado), divided
- Sauce: 1/3 cup low-sodium soy sauce, 2 tbsp oyster sauce, 1 tbsp brown sugar, 1 tbsp rice vinegar, 1/2 cup low-sodium beef broth or water, 1 1/2 tbsp cornstarch, 2 tsp toasted sesame oil, 1 tsp chili-garlic sauce (optional)
- 1 tbsp toasted sesame seeds
Do This
- 1. Cook rice: combine 1 1/2 cups rice with 2 cups water and a pinch of salt. Boil, cover, simmer 15 minutes, then rest off heat 10 minutes.
- 2. Marinate beef 15 minutes: soy, cornstarch, baking soda, sesame oil.
- 3. Whisk sauce ingredients until smooth; set near the stove.
- 4. Stir-fry-steam broccoli in 2 tsp oil with 1/4 cup water, covered 2–3 minutes; remove.
- 5. Sear beef in 1 tbsp oil over high heat, 2–3 minutes total, in 1–2 batches.
- 6. Add garlic and ginger 30 seconds; return broccoli, pour in sauce, toss until glossy and thick, 1–2 minutes.
- 7. Fold in cooked rice 30–60 seconds to coat lightly. Finish with scallions and sesame seeds; serve hot.
Why You’ll Love This Recipe
- Weeknight-fast: ready in about 40 minutes with simple pantry staples.
- Restaurant-level texture: tender, velvety beef and crisp-tender broccoli in a glossy garlic-ginger soy glaze.
- Balanced and customizable: savory, slightly sweet, and easy to dial up the heat or make gluten-free.
- Everything-in-one bowl: the stir-fry is tossed with steamed rice and finished with sesame seeds for crunch.
Grocery List
- Produce: 1 large head broccoli, garlic, fresh ginger, scallions
- Dairy: None
- Pantry: Jasmine rice, flank steak, low-sodium soy sauce, oyster sauce, brown sugar, rice vinegar, beef broth or water, cornstarch, toasted sesame oil, neutral oil, chili-garlic sauce (optional), sesame seeds, salt
Full Ingredients
For the Rice
- 1 1/2 cups jasmine rice, rinsed until water runs mostly clear
- 2 cups water
- Pinch of kosher salt
Beef and Marinade
- 1 lb flank steak, very thinly sliced against the grain (about 1/4 inch)
- 1 tbsp low-sodium soy sauce
- 1 tsp cornstarch
- 1/4 tsp baking soda
- 1 tsp toasted sesame oil
Stir-Fry Sauce
- 1/3 cup low-sodium soy sauce
- 2 tbsp oyster sauce
- 1 tbsp packed brown sugar
- 1 tbsp rice vinegar
- 1/2 cup low-sodium beef broth (or water)
- 1 1/2 tbsp cornstarch
- 2 tsp toasted sesame oil
- 1 tsp chili-garlic sauce (optional, for heat)
Veggies and Aromatics
- 4 cups broccoli florets (about 1 large head), cut into bite-size pieces
- 3 cloves garlic, minced
- 1 tbsp fresh ginger, minced
- 2 scallions, thinly sliced (whites and greens separated if you like)
To Cook and Finish
- 2 tbsp neutral oil (canola or avocado), divided
- 1 tbsp toasted sesame seeds
- Kosher salt and freshly ground black pepper, to taste

Step-by-Step Instructions
Step 1: Steam the rice
In a medium saucepan, combine the rinsed jasmine rice, 2 cups water, and a pinch of salt. Bring to a boil over medium-high heat, then immediately reduce to low, cover, and simmer for 15 minutes. Remove from the heat but keep covered to steam for another 10 minutes. Fluff with a fork and keep warm.
Step 2: Slice and marinate the beef
Partially freeze the steak for 10–15 minutes if needed for easier slicing. Slice against the grain into 1/4-inch strips. In a bowl, whisk 1 tbsp soy sauce, 1 tsp cornstarch, 1/4 tsp baking soda, and 1 tsp sesame oil. Add the beef and toss to coat. Marinate for 15 minutes while you prep the rest.
Step 3: Mix the stir-fry sauce
In a small bowl or liquid measuring cup, whisk together 1/3 cup soy sauce, oyster sauce, brown sugar, rice vinegar, beef broth (or water), cornstarch, sesame oil, and chili-garlic sauce (if using) until smooth. Keep near the stove and whisk again just before adding to the pan.
Step 4: Pre-cook the broccoli
Heat a large wok or 12-inch skillet over high heat until hot. Add 2 tsp neutral oil. Add the broccoli and 1/4 cup water; cover and steam-sauté for 2–3 minutes until bright green and crisp-tender. Transfer to a plate and keep warm. Wipe out any excess moisture if needed.
Step 5: Sear the beef
Return the pan to high heat and add 1 tbsp neutral oil. When the oil shimmers, spread half the beef in a single layer. Sear without moving for 45–60 seconds, then stir-fry another 45–60 seconds until just browned but still slightly pink. Transfer to a plate and repeat with the remaining beef.
Step 6: Aromatics and sauce
Reduce heat to medium-high. Add the remaining 1 tsp oil. Stir in the minced garlic and ginger for 30 seconds until fragrant. Return all beef and any juices to the pan along with the broccoli. Whisk the sauce again and pour it in. Stir-fry 1–2 minutes until the sauce comes to a boil and thickens to a glossy glaze that coats the beef and broccoli.
Step 7: Toss with rice and finish
Add the hot, fluffed rice to the pan. Toss for 30–60 seconds to coat the grains lightly in the sauce while keeping them separate. Season to taste with pepper and additional soy if desired. Off the heat, sprinkle with sesame seeds and sliced scallions. Serve immediately while steaming hot.
Pro Tips
- Velvety beef: A tiny pinch of baking soda in the marinade helps keep the steak tender without changing the flavor.
- Dry and hot: Pat beef dry and preheat the pan well so the meat sears instead of steams.
- Whisk the sauce again: Cornstarch settles quickly—give the sauce a quick whisk right before pouring it in.
- Batch cook: Sear beef in batches to maintain high heat and good browning.
- Rice timing: Start the rice first; it finishes right as you’re ready to toss everything together.
Variations
- Gluten-free: Use tamari in place of soy sauce and a gluten-free oyster sauce (or a mix of tamari and a touch of fish sauce).
- Spicy: Add extra chili-garlic sauce or a teaspoon of chili crisp when you add the aromatics.
- Lighter/low-carb: Skip tossing with rice and serve over cauliflower rice or steamed greens; reduce brown sugar to 2 teaspoons.
Storage & Make-Ahead
Refrigerate leftovers in an airtight container for up to 4 days. Reheat in a skillet over medium heat with a splash of water, 2–3 minutes, until hot. The stir-fry (without rice) freezes well for up to 2 months; thaw overnight, reheat, then fold in freshly steamed rice. Make-ahead tips: marinate the beef up to 12 hours in advance; whisk the sauce up to 3 days ahead and refrigerate; cook rice up to 1 day ahead (day-old rice tosses beautifully).
Nutrition (per serving)
Approximate: 570 calories; 29 g protein; 58 g carbohydrates; 22 g fat; 4 g fiber; 1,150 mg sodium. Values will vary based on brands and exact measurements.

