Beef Broccoli Recipe: Shanghai Stir-Fried Style
Prep Time: 15 minutes | Cook Time: 10 minutes | Total Time: 25 minutes | Serves: 4
When you crave Chinese takeout but want something better than what comes in those greasy cardboard containers, this Shanghai Stir-Fried Beef & Broccoli is your answer. This beef and broccoli recipe is an easy beef dish that comes together quickly, making it perfect for busy weeknights or when you want a restaurant-style meal at home. This is restaurant-quality stir fry made at home with quality beef, crisp-tender broccoli, and a sauce that’s actually balanced instead of being a sugar bomb disguised as Chinese food.
The key to great beef and broccoli is technique more than ingredients. You need screaming hot heat, perfectly sliced beef, and the confidence to work fast without overthinking it. The beef gets velveted with cornstarch and soy sauce, which creates that silky texture you get at good Chinese restaurants. The broccoli gets blanched first so it cooks evenly and stays bright green instead of turning gray and mushy.
This recipe takes about 25 minutes from start to finish, including prep time. The actual cooking happens in under 10 minutes once you turn on the heat. It’s faster than getting takeout delivered and tastes infinitely better because you’re using quality flank steak instead of mystery meat, and you control exactly how much sugar and sodium goes into the sauce.
Why This Recipe Works
Most home cooks struggle with beef and broccoli because they don’t understand the techniques that make Chinese stir fry work. They throw everything in a pan at once over medium heat and wonder why their beef is tough and their broccoli is mushy.
This recipe breaks down the process into manageable steps that set you up for success. First, you thinly slice the beef against the grain to ensure tender slices that cook quickly and stay juicy. Then, you velvet the beef by coating it in soy sauce and cornstarch. This technique creates a protective coating that keeps the meat tender even when exposed to high heat, resulting in tender beef every time. It’s the same method Chinese restaurants use, and it’s why their beef always has that silky texture.
Second, you blanch the broccoli separately before stir frying. This pre-cooks it partially so it only needs a minute in the wok to finish. You get broccoli that’s crisp-tender with bright green color instead of overcooked gray mush. The blanching water gets seasoned with salt, which flavors the broccoli from the inside out.
Third, you cook in stages. Beef first, then set aside. Aromatics next to flavor the oil. Then everything comes together with the sauce at the end. This staged approach means each ingredient gets cooked properly instead of everything competing for heat in an overcrowded pan.
The sauce itself is a classic Shanghai-style mixture: soy sauce for salt, oyster sauce for umami sweetness, a touch of sugar for balance, and cornstarch to create that glossy coating. It’s less sweet than Americanized Chinese food and more savory, which lets the beef flavor shine through.
The Cut Matters: Why Flank Steak
Flank steak is the ideal cut for beef and broccoli. It has bold beefy flavor, relatively tender texture when sliced correctly, and it takes well to the high heat of stir frying without turning tough or stringy.
The key is slicing it properly. Flank steak has long muscle fibers that run in one direction. If you slice with the grain (parallel to the fibers), you get tough, chewy pieces that are hard to bite through. If you slice against the grain (perpendicular to the fibers), you cut through those fibers and create tender pieces that are easy to chew.
Slice your flank steak as thin as possible, ideally one-eighth to one-quarter inch thick. For best results, the beef should be thinly sliced to ensure even marinating and tenderization. Thinner slices cook faster and have better texture. To make slicing easier, stick the flank steak in the freezer for 15 to 20 minutes before cutting. The meat firms up slightly, which makes it easier to cut thin, even slices.
Cut the slices into matchstick-sized pieces about two inches long. This creates maximum surface area for the sauce to coat and ensures the beef cooks through in the short time it spends in the wok.
If you need an alternative cut, chuck steak can be used, but it is tougher than flank steak and should be sliced very thinly across the grain to improve tenderness.
Quality matters more with flank steak than with ground meat or cubed chicken. Lower-quality flank steak can be tough, chewy, and flavorless no matter how you slice it. Quality flank steak from properly raised cattle has better marbling, more flavor, and tender texture that shows up in every bite.
Ingredients Breakdown
This recipe uses ingredients you can find at any grocery store. Here’s what you need and why each component matters. For this broccoli recipe, gather all the essential broccoli ingredients to ensure authentic flavor and the best results.
For the Beef
-
1 small flank steak (1¼ to 1½ pounds) – The star of the show. Look for a piece with good marbling and deep red color.
-
3 tablespoons soy sauce – Half for velveting the beef, half for the sauce. Adds salt and that characteristic soy flavor.
-
1 tablespoon dry sherry – Adds subtle sweetness and helps tenderize the meat. Rice wine or dry white wine work as substitutes.
-
1 tablespoon cornstarch – Mixed with the soy sauce to velvet the beef, creating that silky restaurant texture.
-
Kosher salt – For seasoning throughout the recipe.
-
Optional: 1/4 teaspoon baking soda – Add to the marinade to further tenderize the beef, as is common in restaurant-style recipes. Let the beef marinate with baking soda for about 10 minutes before cooking.
For the Broccoli
-
Three-quarters pound broccoli crowns, cut into 2-inch florets – Choose broccoli with tight, dark green florets and firm stems. Fresh broccoli is ideal for a classic broccoli stir fry, helping to achieve the perfect texture and flavor. Avoid yellowing or flowering broccoli.
-
2 quarts water with 2 teaspoons kosher salt – For blanching the broccoli to pre-cook it and keep it bright green.
For the Aromatics
-
Half cup sliced or pressed garlic – Fresh garlic sliced thin or put through a garlic press. This seems like a lot but it mellows when cooked and adds essential flavor.
-
2-inch piece of ginger, peeled and cut into thin matchsticks – Fresh ginger adds bright, spicy notes. Don't skip this or use powdered ginger as a substitute.
For the Sauce
-
For the stir fry sauce:
-
3 tablespoons soy sauce – For the sauce base. Use regular or low-sodium depending on your preference.
-
Half cup water or chicken stock – Thins the sauce slightly and adds savory depth if using stock.
-
Half teaspoon red chili flakes – Adds gentle heat. Adjust based on your spice preference.
-
2 tablespoons oyster sauce – Brings sweet umami richness and helps create that glossy coating.
-
1 tablespoon cornstarch – Mixed with water and sherry to thicken the sauce.
-
1 tablespoon dry sherry – Or use Chinese cooking wine for a more traditional and flavorful option.
-
Optional: Add a splash of rice vinegar or rice wine vinegar for acidity, but use sparingly to avoid an overly acidic taste.
-
Half teaspoon salt – Adjust to taste at the end.
-
For Cooking
-
3 tablespoons peanut oil or vegetable oil – Divided for cooking beef and vegetables. You need oil with a high smoke point for stir frying.
Step-by-Step Instructions
Success with this recipe comes from preparation and organization. Make sure you have all your ingredients prepped before you begin—this means everything should be sliced, measured, and ready before you turn on the heat. Once you start cooking, everything happens fast.
Prep the Beef
-
Slice the flank steak. Cut the steak in half lengthwise, then slice each half crosswise (against the grain) into thin slices about one-eighth to one-quarter inch thick. Cut these slices into matchstick pieces about two inches long. The goal is thin strips that will cook quickly.
-
Velvet the beef. In a medium bowl, stir together 1½ tablespoons of soy sauce, the dry sherry, and the cornstarch until smooth. Add the sliced beef and toss to coat evenly. Every piece should be covered in the mixture. Let this sit for 10 minutes while you prep everything else. This coating protects the meat during cooking and creates that signature silky texture.
Prep the Broccoli
-
Blanch the broccoli. Bring 2 quarts of water with 2 teaspoons of kosher salt to a boil in a large pot. Add the broccoli florets and cook for 2 to 3 minutes until they turn bright green and are crisp-tender. The goal is to achieve crisp broccoli with vibrant color and texture—they should still have crunch but not be raw. Drain the broccoli in a colander and rinse under cold water to stop the cooking. This keeps the broccoli bright green instead of turning that sad olive color. Drain well and set aside.
Make the Sauce
-
Mix the sauce ingredients. In a small bowl, combine the remaining 1½ tablespoons soy sauce, water or stock, red chili flakes, oyster sauce, the remaining 1 tablespoon cornstarch, and half teaspoon salt. Stir until the cornstarch dissolves completely with no lumps. Set this where you can grab it quickly once you start stir frying.
Stir Fry Everything
-
Cook beef. Set a large heavy skillet or wok over high heat for 1 minute. You want it screaming hot. Pour in 2 tablespoons of the oil. When it starts to shimmer and just begins to smoke, add beef to the hot skillet. Let it sit undisturbed for about 1 minute to develop some browning, then stir and cook beef until it loses most but not all of its raw color, about 2 minutes total. The beef should still be slightly pink in places because it will continue cooking later. Transfer the beef to a large plate.
-
Cook the aromatics. Add the remaining 2 tablespoons of oil to the same pan along with the garlic, ginger, and chili flakes. Stir-fry for about 30 seconds until fragrant, stirring occasionally. You want the garlic to turn golden but not burn. Work fast and keep everything moving. The oil should be infused with garlic and ginger flavor.
-
Add broccoli. Add broccoli to the pan along with the blanched broccoli and the remaining 3 tablespoons of water. Stir-fry, tossing everything and stirring occasionally, to incorporate any browned bits from the bottom of the pan. The broccoli should warm through and pick up flavor from the aromatic oil. This takes about 1 minute.
-
Finish with sauce and beef. Stir the prepared sauce one more time to remix the cornstarch (it settles), then pour it into the pan along with the cooked beef. Stir everything together, tossing constantly, until the sauce thickens and coats everything in a glossy glaze. This happens fast, about 1 minute. The sauce should coat the beef and broccoli without pooling in the bottom of the pan. For extra flavor, drizzle a small amount of sesame oil over the finished dish.
-
Serve beef immediately. Transfer to a serving plate or individual bowls. This dish is best served hot over steamed white rice, brown rice, or fried rice. The sauce is designed to be soaked up by rice, so don’t skip that component.
The Velveting Technique
Velveting is a Chinese cooking technique that creates tender, silky meat even when using lean cuts or cooking over high heat. The process involves coating meat in a mixture of soy sauce, wine, and cornstarch before cooking.
The cornstarch creates a protective barrier around each piece of meat. When the coated beef hits the hot oil, the cornstarch forms a delicate crust that seals in moisture and prevents the meat from drying out or overcooking. The soy sauce and sherry tenderize the meat slightly and add flavor from the inside out.
This technique is why Chinese restaurant beef always has that characteristic texture that's different from Western-style stir fry. The meat stays tender and juicy with a slight coating rather than being dry or tough.
You can use velveting with any lean protein: chicken breast, pork tenderloin, shrimp. The ratios stay roughly the same. Just make sure to let the meat sit in the marinade for at least 10 minutes before cooking so the cornstarch has time to hydrate and the flavors penetrate.
Why Quality Beef Makes This Better
Stir fry happens fast over high heat, which means there’s no time for slow braising to break down tough connective tissue or render fat. What you start with is essentially what you end up with, just cooked. This makes quality non-negotiable.
Lower-quality flank steak often comes from cattle that were raised quickly and cheaply. The meat lacks marbling, has tough texture, and minimal beef flavor. No amount of velveting or sauce can fix fundamentally inferior meat. You end up with something edible but not enjoyable.
Quality flank steak from properly raised cattle has better intramuscular fat, which keeps it tender and adds rich beef flavor. The muscle structure is more consistent, which means it slices cleanly and cooks evenly. You can actually taste the beef instead of just tasting sauce-covered chewy things.
When you order from Meatzy, you’re getting flank steak from cattle raised with better welfare and better nutrition. That shows up in every aspect of the finished dish: better color, better texture, better flavor. It’s the difference between beef that’s just protein and beef that makes the dish.
If you’re looking for more meal ideas, check out our collection of beef recipes that are perfect for meal prep, reheating, and packing for school or work lunches. Explore more beef recipes to add variety and convenience to your weekly meal planning.
Getting Your Wok Hot Enough
The biggest mistake home cooks make with stir fry is not getting their pan hot enough. Stir fry needs extremely high heat to work properly. If your heat is too low, ingredients steam instead of sear, meat releases liquid instead of browning, and vegetables turn mushy instead of staying crisp-tender.
Heat your wok or large heavy skillet over high heat for a full minute before adding oil. The pan should be so hot that a drop of water evaporates immediately on contact. When you add oil, it should shimmer and just barely start smoking within seconds.
This high heat is what creates wok hei, the slightly smoky, charred flavor that makes restaurant stir fry taste different from home stir fry. You're not burning the food; you're creating hundreds of tiny points of caramelization that add complexity.
Cast iron and carbon steel woks can handle this heat. Stainless steel works but heats less evenly. Nonstick pans are not ideal for stir fry because they can't safely reach the temperatures you need. If you only have nonstick, it will work, but the results won't be quite as good.
Pro Tips for Restaurant-Quality Results
-
Freeze the beef briefly before slicing. Fifteen to twenty minutes in the freezer firms up the meat enough to make slicing thin, even pieces much easier. This one trick dramatically improves the final texture.
-
Don't skip the blanching step. Blanching the broccoli separately means it cooks perfectly every time. If you add raw broccoli to the stir fry, you have to cook it longer, which overcooks the beef and turns the broccoli gray.
-
Have everything ready before you start. Once that wok is hot, you need to move fast. Measure your sauce, slice your aromatics, drain your broccoli. Everything should be within arm's reach.
-
Don't overcrowd the pan. If you're doubling this recipe, cook the beef in two batches. Overcrowding drops the temperature too much and causes steaming instead of searing.
-
Let the beef sit initially. When you first add the beef to the hot pan, resist the urge to immediately start stirring. Let it sit for 30 to 60 seconds to develop browning on one side. Then stir and let it sit again briefly. This creates better flavor than constant stirring.
-
Stir the sauce before adding it. Cornstarch settles to the bottom of the bowl as it sits. Give the sauce a quick stir right before pouring it in to remix the cornstarch evenly.
-
Work fast at the end. Once you add the sauce, the cornstarch starts thickening immediately. Keep everything moving and get it off the heat as soon as the sauce coats everything. Overcooking the sauce makes it gloppy.
Serving Suggestions
This beef and broccoli is designed to be served over rice. The sauce is meant to be soaked up by fluffy grains, and eating it without rice feels incomplete.
Steamed white rice is traditional and works perfectly. The neutral flavor lets the beef and sauce shine. Jasmine rice adds a subtle floral aroma that complements the ginger and garlic. Brown rice brings nuttiness and more fiber if you want something heartier.
For a lower-carb option, serve over cauliflower rice. The cauliflower soaks up the sauce reasonably well without adding many carbs. Shirataki noodles also work if you want a noodle-like base without the calories.
You can also serve this over lo mein noodles, rice noodles, or even ramen noodles for a more substantial meal. Toss the noodles with the beef and broccoli mixture, adding a splash of water or stock if needed to help the sauce coat the noodles.
Keep sides simple. This dish has enough going on that you don't need complicated accompaniments. A simple cucumber salad, some steamed bok choy, or a light Asian slaw all work well. The goal is something fresh and crisp to balance the rich, savory stir fry.
Customizing the Recipe
This recipe provides a solid foundation that you can adapt based on your preferences or what you have available.
Change the vegetables: Bell peppers, snap peas, carrots, mushrooms, or baby corn all work well with the sauce. Add them when you add the broccoli in step 7. Just adjust cooking times based on how tender or crunchy you want them.
Adjust the heat: Use more or fewer chili flakes depending on your spice tolerance. Add fresh sliced Thai chilies or jalapeños for more heat. Omit the chili flakes entirely for a mild version.
Make it saucier: If you like more sauce, increase the water or stock to three-quarters cup and add an extra half teaspoon of cornstarch to maintain the right consistency.
Switch the protein: This same technique and sauce work beautifully with chicken breast, pork tenderloin, or shrimp. Just adjust cooking times accordingly. Chicken and pork need to cook slightly longer than beef. Shrimp cook faster. If you have leftover beef, store it in an airtight container in the refrigerator for up to three days, or freeze for longer storage. Leftover beef can be added to salads, stir-fries, or wraps for easy meals.
Add more aromatics: Sliced scallions, fresh Thai basil, or cilantro added at the end bring brightness. Sesame seeds sprinkled on top add nuttiness and visual appeal.
Storage and Reheating
This beef and broccoli keeps well in the refrigerator for up to three days. Store it in an airtight container and the flavors will actually deepen slightly as it sits.
The texture changes a bit after storage. The broccoli softens and the sauce thickens as it cools. This is normal and doesn't affect the taste significantly.
To reheat, add the beef and broccoli to a hot skillet with a splash of water or chicken stock. The moisture prevents the beef from drying out and helps loosen the sauce. Toss over medium-high heat until heated through, about three to five minutes.
You can also microwave individual portions, though the texture won't be quite as good. Microwave in one-minute intervals, stirring between each, until heated through. Add a tablespoon of water before microwaving to keep it moist.
This dish doesn't freeze particularly well. The broccoli becomes mushy and the beef can turn tough after freezing and thawing. If you do freeze it, expect the texture to be noticeably different when reheated. It will still taste good but won't have that crisp-tender quality.
Understanding the Sauce Components
Soy Sauce
Soy sauce is the foundation of most Chinese cooking. It adds salt, umami, and that characteristic fermented flavor. Regular soy sauce works perfectly for this recipe. If you're watching sodium, use low-sodium soy sauce and adjust the added salt to taste.
Oyster Sauce
Oyster sauce is made from oyster extract, sugar, and salt. It's thick, dark, and adds sweet umami richness to stir fries. Despite the name, it doesn't taste fishy. It tastes deeply savory with hints of sweetness. This is what gives the dish that restaurant flavor. Look for Lee Kum Kee brand, which most stores carry.
Cornstarch
Cornstarch serves two purposes in this recipe. First, it velvets the beef by creating a protective coating. Second, it thickens the sauce so it coats the beef and broccoli instead of pooling at the bottom of the pan. Always mix cornstarch with liquid before adding it to hot pans to prevent lumps.
Dry Sherry
Dry sherry is traditional in Chinese cooking for adding subtle sweetness and helping tenderize meat. If you don't have sherry, substitute with Chinese rice wine (Shaoxing wine) or dry white wine. Don't use cooking sherry from the grocery store, which contains added salt and tastes terrible.
Frequently Asked Questions
Can I use a different cut of beef?
Flank steak is ideal, but sirloin, skirt steak, or even ribeye work well. Choose cuts that are relatively lean with good beef flavor and slice them thin against the grain. Avoid tough cuts like chuck or round steak, which need long cooking times to become tender.
Can I skip the velveting step?
You can, but the texture won't be as good. Velveting is what creates that silky restaurant-style texture. Without it, the beef will be chewier and drier. Since it only takes 10 minutes and minimal effort, it's worth doing.
What if I don't have a wok?
A large heavy skillet works fine. Cast iron or stainless steel are best because they can handle high heat. Make sure it's at least 12 inches in diameter so you have room to toss ingredients without spilling. The cooking technique stays the same.
Can I use frozen broccoli?
Fresh broccoli gives better texture and color, but frozen works in a pinch. Thaw it completely and squeeze out excess water before adding it to the stir fry. Skip the blanching step since frozen broccoli is already partially cooked.
How do I know when the beef is done?
The beef should lose most of its raw red color but can still be slightly pink in places when you remove it from the pan in step 5. It will continue cooking when you add it back with the sauce. If you cook it completely through initially, it will be overcooked and tough by the time you finish.
Why is my sauce too thick or too thin?
Sauce consistency depends on the cornstarch and how long you cook it. Too thick means too much cornstarch or cooking too long. Add a splash of water to thin it. Too thin means not enough cornstarch or not cooking long enough. Let it bubble for another 30 seconds to thicken, or mix a teaspoon of cornstarch with a tablespoon of water and stir it in.
Can I make this ahead?
You can prep all the ingredients ahead (slice beef, cut broccoli, mix sauce) and store them separately in the fridge. The actual cooking needs to happen right before serving for best texture. Stir fry doesn't hold well and should be eaten immediately.
Is this recipe gluten-free?
Not as written because soy sauce contains wheat. To make it gluten-free, substitute tamari or coconut aminos for the soy sauce. Make sure your oyster sauce is also gluten-free (check the label). Everything else is naturally gluten-free.
What can I substitute for oyster sauce?
Oyster sauce is really what gives this its characteristic flavor, so it's worth finding. If you can't use it, substitute with hoisin sauce, though the flavor will be different and sweeter. For vegetarian options, look for mushroom-based vegetarian oyster sauce.
Why Meatzy Beef Makes the Difference
In a dish this simple and quick-cooking, the quality of your beef is everything. You can't hide inferior meat behind long braising times or complex sauces. What you put in the pan is what you taste on the plate.
Meatzy flank steak comes from cattle raised with better welfare standards and better nutrition. The difference shows up in multiple ways. The meat has better marbling, which keeps it tender and adds rich beef flavor. The color is deep red instead of pale pink. The texture is firm and consistent, not slimy or grainy.
When you cook with quality beef, the velveting technique works better because you're starting with good meat that has proper texture and moisture content. The beef browns properly instead of releasing gray water. It stays tender instead of turning tough. It actually tastes like beef instead of just being a vehicle for sauce.
Having quality flank steak in your freezer means you're always 25 minutes away from restaurant-quality stir fry. No last-minute grocery runs. No settling for whatever looks acceptable. Just grab what you need, let it thaw if necessary, and start cooking. This is how weeknight cooking should work when you refuse to compromise on quality.
Final Thoughts
This Shanghai Stir-Fried Beef & Broccoli proves that restaurant-quality Chinese food is absolutely achievable at home. You don't need special equipment, obscure ingredients, or years of training. You need good technique, high heat, quality beef, and the confidence to work fast.
The recipe is fast enough for busy weeknights but impressive enough to serve when you have people over. It's healthier than takeout because you control the sodium, sugar, and oil. And it tastes better because you're using real beef that actually has flavor instead of mystery meat swimming in corn syrup.
Once you master this basic technique, you can apply it to dozens of other stir fry combinations. The velveting method works with any protein. The sauce formula adapts to different flavor profiles. The high-heat, quick-cooking approach applies to virtually all stir fry dishes.
Make this tonight and experience what properly made beef and broccoli tastes like. Then make it again next week with different vegetables or protein. This is the kind of foundational recipe that becomes part of your regular rotation because it delivers consistent results with minimal effort.
Recipe
Prep
15 min
Cook
10 min
Total
25 min
Servings
Ingredients
Ready to Cook This Recipe?
Get the premium cuts you need delivered fresh to your door