Description
Restaurant-quality beef and broccoli stir-fry that’s even better than takeout—tender, velvety beef with crisp broccoli in a savory-sweet sauce that comes together in under 30 minutes.
Prep Time: 15 minutes (plus 30 minutes marinating) | Cook Time: 10 minutes | Total Time: 55 minutes | Servings: 4
Ingredients
- 1 lb flank steak, sliced paper-thin against the grain (pop it in the freezer for 15 minutes to make slicing easier)
- 1/2 cup soy sauce (low-sodium works great if you want to control the saltiness)
- 1/4 cup oyster sauce (get the good stuff—Lee Kum Kee is my go-to brand)
- 2 tbsp brown sugar (light or dark both work)
- 3 cloves garlic, minced (fresh only, please—no jarred stuff)
- 1-inch piece fresh ginger, grated (about 1 tablespoon)
- 2 tbsp cornstarch (this is what makes the sauce silky and the beef tender)
- 2 tbsp vegetable oil (or any high smoke point oil—canola works too)
- 1 large head broccoli, cut into bite-sized florets (about 4 cups)
- Cooked white rice, for serving
- Sesame seeds, for garnish (optional but pretty)
- 2 green onions, chopped, for garnish (adds a nice fresh bite)
Instructions
- In a medium bowl, whisk together the soy sauce, oyster sauce, brown sugar, minced garlic, grated ginger, and cornstarch until smooth and no lumps remain. Make sure that cornstarch is fully dissolved.
- Add your thinly sliced flank steak to the marinade and toss everything together until every piece is coated. Let this marinate for at least 30 minutes at room temperature, or up to 2 hours in the fridge if you’re planning ahead.
- When you’re ready to cook, crank a large skillet or wok to medium-high heat and add the vegetable oil. Let it get really hot—you want to see it shimmer. This is important for that restaurant-style sear.
- Add the marinated beef in a single layer (work in batches if your pan isn’t huge—don’t crowd it). Let it sit undisturbed for about 2 minutes to develop a nice brown crust, then flip and cook the other side for 2-3 minutes until browned but not fully cooked. Remove the beef to a plate.
- In the same skillet with all those tasty browned bits, add your broccoli florets. If the pan looks dry, add a tiny splash of oil. Sauté for 3-4 minutes, tossing occasionally, until the broccoli turns bright green and gets slightly tender but still has a good crunch.
- Return the beef to the skillet along with any remaining marinade from the bowl. Stir everything together and cook for another 2-3 minutes until the sauce thickens and becomes glossy, coating everything beautifully. The sauce should cling to the beef and broccoli without being too thick or too thin.
- Serve immediately over hot cooked white rice, garnished with sesame seeds and chopped green onions. Don’t let this sit around—stir-fry is best enjoyed right away while everything is still hot and the broccoli is crisp.
Nutrition Information (Per Serving, based on 4 servings, without rice):
- Calories: 320
- Carbohydrates: 18g
- Protein: 28g
- Fat: 14g
- Fiber: 3g
- Sodium: 1,580mg
- Vitamin C: 90mg (100% DV)
- Iron: 3mg (17% DV)
Note: Broccoli provides excellent amounts of vitamin C and fiber. Using low-sodium soy sauce can reduce sodium content by about 40%.
Notes:
- Seriously, slice that beef thin against the grain—this is the difference between tender and tough
- Your pan needs to be HOT before the beef goes in, or it’ll steam instead of sear
- Don’t overcrowd the pan; cook in batches if necessary for best results
- The beef should still be slightly pink when you remove it the first time
- Fresh ginger and garlic make a huge difference over jarred versions
- If your sauce won’t thicken, mix 1 tsp cornstarch with 1 tbsp cold water and stir it in
Storage Tips:
Store leftovers in an airtight container in the fridge for up to 3 days. The beef and broccoli will continue to absorb the sauce as it sits, so it won’t be quite as saucy when reheated. Reheat gently in a skillet over medium heat, adding a splash of water or soy sauce to loosen the sauce. Don’t microwave on high power or the beef will get tough—use 50% power in 30-second intervals instead. I don’t recommend freezing this dish because the broccoli gets mushy and the texture of the beef changes.
Serving Suggestions:
- Classic Chinese Takeout Style: Serve over steaming white rice with extra soy sauce on the side
- Low-Carb Option: Skip the rice and serve over cauliflower rice or zucchini noodles
- Complete Meal: Pair with egg rolls, hot and sour soup, or vegetable fried rice for a full Chinese feast
- Noodle Bowl: Toss with cooked lo mein noodles instead of serving over rice for a different texture
Mix It Up (Recipe Variations):
Spicy Szechuan Beef and Broccoli: Add 1-2 teaspoons chili garlic sauce or sriracha to the marinade, plus 1/2 teaspoon red pepper flakes. The spicy kick transforms this into a totally different dish.
Mushroom Beef and Broccoli: Add 8 oz sliced shiitake or button mushrooms to the pan with the broccoli. They soak up the sauce and add amazing umami depth.
Chicken and Broccoli: Swap the flank steak for 1 lb boneless chicken breast or thighs, sliced thin. Cook time stays about the same—just make sure the chicken is cooked through.
Tofu and Broccoli (Vegan): Replace the beef with 14 oz extra-firm tofu (pressed and cubed). Use vegetarian oyster sauce (made from mushrooms) and add an extra minute to get the tofu crispy. Skip the cornstarch in the marinade for tofu.
What Makes This Recipe Special:
This beef and broccoli recipe uses the traditional Chinese technique of velveting—marinating meat with cornstarch to create that impossibly tender, silky texture you get in restaurants. While beef and broccoli is technically a Chinese-American invention, the cooking methods are authentically Cantonese, emphasizing high heat and quick cooking to preserve texture and lock in flavors. The key is respecting the technique: proper marinating, hot pan, and not overcrowding. These fundamentals separate restaurant-quality stir-fry from sad, steamed vegetables and tough meat.
