Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Beef and Broccoli Stir-Fry Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 4.5 from 115 reviews
  • Author: Jaden
  • Prep Time: 35 minutes
  • Cook Time: 15 minutes
  • Total Time: 50 minutes
  • Yield: 6 servings
  • Category: Main Dish
  • Method: Stir-frying
  • Cuisine: Chinese

Description

A flavorful and classic Beef and Broccoli stir-fry featuring tender marinated flank steak and crisp-tender broccoli florets in a savory soy-based sauce. Perfectly balanced with a rich oyster sauce blend and a hint of garlic and ginger, this dish comes together quickly for a delicious weeknight meal.


Ingredients

Units Scale

For the beef and marinade:

  • 1 pound flank steak, sliced 1/4-inch (0.6 cm) thick
  • 1/4 teaspoon baking soda (optional)
  • 3 tablespoons water
  • 1 1/2 teaspoons cornstarch
  • 2 teaspoons vegetable oil
  • 1 teaspoon oyster sauce

For the sauce:

  • 2/3 cup low sodium chicken stock, warmed
  • 1 1/2 teaspoons granulated sugar (or brown sugar)
  • 1 1/2 tablespoons soy sauce
  • 1 teaspoon dark soy sauce (or double black dark soy sauce)
  • 1 tablespoon oyster sauce
  • 1/2 teaspoon sesame oil
  • 1/8 teaspoon white pepper

For the rest of the dish:

  • 4 cups broccoli florets
  • 3 tablespoons vegetable oil, divided
  • 2 cloves garlic, minced
  • 1/4 teaspoon ginger, grated or minced (optional)
  • 1 tablespoon Shaoxing wine
  • 2 1/2 tablespoons cornstarch mixed with 3 tablespoons (45 ml) water

Instructions

  1. Marinate the beef: In a bowl, combine sliced flank steak with baking soda and water. Massage the mixture to absorb the liquid fully. Add cornstarch, vegetable oil, and oyster sauce, mixing thoroughly. Let the beef marinate for at least 30 minutes to tenderize and infuse flavor.
  2. Prepare the sauce: In a separate bowl, whisk together warm chicken stock, granulated sugar, soy sauce, dark soy sauce, oyster sauce, sesame oil, and white pepper until well combined. Set aside.
  3. Blanch the broccoli: Bring a pot of water to a boil. Add broccoli florets and blanch for 30 to 60 seconds, depending on desired crispness. Immediately drain and set aside to stop cooking.
  4. Sear the beef: Heat a wok over high heat until smoking hot. Add 2 tablespoons of vegetable oil and sear the marinated beef on both sides for 2-3 minutes until browned but not fully cooked through. Remove beef from wok and set aside.
  5. Cook aromatics and deglaze: Reduce heat to medium. Add remaining 1 tablespoon vegetable oil to the wok, then add minced garlic and ginger, stirring for about 5 seconds until fragrant. Pour Shaoxing wine around the wok’s edge to deglaze, loosening browned bits.
  6. Simmer and thicken the sauce: Pour in the prepared sauce mixture. Stir sauce along the sides of the wok, bringing it to a gentle simmer. Slowly drizzle in the cornstarch slurry while stirring constantly to prevent lumps. Let the sauce thicken for about 20 seconds.
  7. Combine beef and broccoli: Add the blanched broccoli and seared beef, including any accumulated juices, back into the wok. Toss and stir over medium heat to evenly coat everything with sauce. Adjust sauce thickness by reducing over higher heat or adding a splash of chicken stock or water if too thick.
  8. Serve: Once the beef is cooked through and the broccoli is tender but crisp, remove from heat. Serve hot with steamed rice for a complete meal.

Notes

  • Omitting baking soda will result in less tender beef, suitable if you prefer a chewier texture.
  • Blanch broccoli according to your preference for crunchiness; shorter blanching for crisp bite, longer for softer texture.
  • Slicing beef thinly ensures quick cooking and tender texture.
  • Use low sodium soy sauce and chicken stock to better control salt levels in the dish.
  • Adjust cornstarch slurry quantity if you want a thicker or thinner sauce.
  • Shaoxing wine enhances the flavor but can be omitted if unavailable.