Chinese Beef and Broccoli
Craving that glossy, savory Chinese beef and broccoli from your favorite takeout spot? This easy homemade beef stir-fry comes together in under 30 minutes with tender, velvety beef, crisp broccoli, and a rich sauce that’ll have you skipping the delivery app for good.
Okay, real talk — the first time I tried making Chinese beef and broccoli at home, I was fully prepared for a watery, sad disaster. I was wrong. Like, embarrassingly wrong. Turns out, with the right marinade trick and a screaming-hot pan, you can nail that glossy, saucy, takeout-style magic right in your own kitchen.
This recipe has become my go-to weeknight dinner, and I promise it’s going to become yours too.
Table of Contents
What Makes This Recipe So Good
This isn’t your average “dump everything in a pan and hope for the best” stir-fry. The secret is in the layers — a simple soy and cornstarch marinade that tenderizes the beef beautifully, a bold easy beef and broccoli sauce built on Shaoxing wine and dark soy, and a quick steaming method that keeps the broccoli bright green and perfectly crisp-tender.
Every bite is saucy, satisfying, and packed with that deep umami flavor you love from your favorite Chinese restaurant.
It’s the kind of dish that looks impressive but is genuinely simple to pull off. Whether you’re cooking for two on a Tuesday or feeding the whole family, this easy homemade beef stir-fry delivers every single time.
Ingredients

Meat and Marinade
| Ingredient | Amount | Notes |
|---|---|---|
| Flank steak (or skirt steak) | 1 lb | Sliced thin against the grain |
| Soy sauce | 1 tablespoon | For the marinade |
| Peanut oil (or vegetable oil) | 1 tablespoon | Adds subtle nutty depth |
| Cornstarch | 1 tablespoon | Creates that silky, velvety coating |
| Baking soda | ½ teaspoon | Optional — but great for extra-tender beef |
Sauce
| Ingredient | Amount | Notes |
|---|---|---|
| Chicken stock (or beef stock) | ½ cup | The base of your easy beef and broccoli sauce |
| Shaoxing wine (or dry sherry) | 2 tablespoons | Adds authentic depth of flavor |
| Soy sauce | 2 tablespoons | Savory backbone |
| Dark soy sauce | 1 teaspoon | For color and richness |
| Brown sugar (or white sugar) | 2 teaspoons | Balances the saltiness |
| Cornstarch | 1 tablespoon | Thickens the sauce beautifully |
Stir-Fry
| Ingredient | Amount | Notes |
|---|---|---|
| Broccoli, cut to bite-size florets | 1 head | Fresh is best |
| Peanut oil (or vegetable oil) | 1 tablespoon | High smoke point = better sear |
| Garlic cloves, minced | 3 | Don’t be shy |
| Fresh ginger, minced | 2 teaspoons | Adds warmth and fragrance |
Step-by-Step Instructions

Step 1: Marinate the Beef
Slice your beef against the grain into thin 0.5 cm (¼ inch) slices or 1 cm (½ inch) sticks. This single step is the biggest factor in getting that melt-in-your-mouth tender beef and broccoli texture — cutting against the grain shortens the muscle fibers so every bite feels silky instead of chewy. Transfer to a small bowl.
Add the soy sauce, peanut oil, and cornstarch. If you’re going for extra-tender beef (and why wouldn’t you?), toss in the optional baking soda too. Mix gently by hand until every slice is coated in a thin, glossy layer, then let it sit for 10 minutes while you prep everything else.
“Don’t rush the marinade — even 10 minutes makes a noticeable difference in texture.”
Step 2: Mix the Sauce
In a medium bowl, whisk together the chicken stock, Shaoxing wine, both soy sauces, brown sugar, and cornstarch until completely smooth. It should taste bold, slightly sweet, and deeply savory — this is the easy beef and broccoli sauce that ties everything together.
Set it aside, but remember to give it a quick stir before you pour it into the pan, since cornstarch likes to settle at the bottom.
Step 3: Steam the Broccoli
Add ¼ cup of water to a large nonstick skillet over medium-high heat. Once it starts boiling, add the broccoli florets and cover with a lid. Steam for about 1 minute, just until the broccoli turns a vibrant, jewel-toned green and is barely tender.
You want it to still have a little bite, because it’ll finish cooking in the sauce. Transfer to a plate and wipe out any remaining water from the pan — nobody wants a soggy stir-fry.
Step 4: Sear the Beef
Add the oil to your now-dry skillet, swirl to coat, and crank the heat to medium-high. Wait until the oil is shimmering and properly hot, then spread the marinated beef in a single layer. Here’s the key — don’t touch it! Let it sit undisturbed for about 30 seconds so the bottom develops a beautiful brown sear.
Flip and cook the other side for just a few seconds, then stir and cook until there’s a light char on the surface but the inside is still just a touch pink. That char is the flavor magic in any good easy homemade beef stir-fry — don’t skip it.
Tip: Don’t overcrowd the pan! If you pile in too much beef, it’ll steam instead of sear. Cook in two batches if needed.
Step 5: Add Garlic and Ginger
Add the minced garlic and ginger directly into the pan. Stir for just 20–30 seconds — you’ll immediately smell that incredible fragrance bloom in the heat, all warm and slightly spicy. It’s genuinely one of the best smells in cooking.
Don’t let it linger too long, though. Burnt garlic turns bitter fast and will throw off the whole dish.
Step 6: Bring It All Together
Return the broccoli to the pan. Give your sauce one final stir to redistribute the cornstarch, then pour it all in. Toss everything together as the sauce heats up and thickens — you’ll watch it transform from thin and watery to that gorgeous, glossy restaurant-style coating in about 1 minute.
Once everything is shiny and coated, transfer immediately to a plate and serve hot. This tender beef and broccoli is best eaten the moment it hits the table, steaming and saucy, over a big bowl of fluffy white rice.
Expert Tips for the Best Results
Get the Beef Restaurant-Level Tender
The baking soda trick — known as “velveting” — is the actual secret behind that impossibly silky beef you get at Chinese restaurants. It slightly raises the pH of the meat, which keeps the proteins from tightening too fast when they hit the hot pan. Use it every time.
Always slice thin, always cut against the grain, and always marinate. These three things together are what take tender beef and broccoli from good to genuinely great.
The Hot Pan Rule
A screaming-hot pan is non-negotiable for a good stir-fry. If the pan isn’t hot enough, the beef will steam and turn grey instead of getting that beautiful caramelized sear. Preheat for at least a full minute before adding oil.
Cast iron or carbon steel work amazingly here if you have them, but a quality nonstick skillet does the job just fine for everyday cooking.
Shaoxing Wine Tips
Shaoxing wine is worth finding — it adds a depth of flavor that’s hard to replicate. Look for it at any Asian grocery store or online. Can’t find it? Dry sherry is the closest substitute and works really well.
Avoid regular cooking wine from the regular grocery aisle — it tends to be too salty and can throw off your sauce balance.
Variations to Try
Spicy version: Add a teaspoon of chili garlic sauce or a few dried red chilies along with the garlic and ginger for a kick.
Swap the protein: This same marinade and easy beef and broccoli sauce works beautifully with chicken thighs, shrimp, or firm tofu for a vegetarian spin.
Add more veggies: Snap peas, mushrooms, bell peppers, or baby corn are all fantastic additions. Toss them in during the steaming step with the broccoli.
Make it gluten-free: Swap both soy sauces for tamari and ensure your stock is certified gluten-free. Same great flavor, no wheat.
Troubleshooting
Sauce too thick? Add a splash of stock or water and stir over low heat until it loosens to your liking.
Sauce too thin? Mix 1 teaspoon cornstarch with 1 tablespoon cold water and drizzle in while stirring constantly until it thickens.
Beef came out tough? You likely sliced with the grain instead of against it, or let it overcook. Pull it off the heat when the center is still just slightly pink.
Broccoli is mushy? Steam for less time in your next batch — 1 minute is usually plenty, especially if your florets are on the smaller side.
Storage and Reheating
| Method | Duration | Notes |
|---|---|---|
| Refrigerator | 3–4 days | Store in an airtight container |
| Freezer | Up to 2 months | Sauce texture may change slightly |
| Reheat on stovetop | 3–5 minutes | Best method — splash of water helps |
| Reheat in microwave | 1–2 minutes | Cover loosely, stir halfway through |
No-Waste Kitchen Ideas
Leftover Chinese beef and broccoli makes an incredible next-day fried rice — chop everything into smaller pieces, toss into a hot pan with day-old rice, a cracked egg, and a dash of soy sauce. Dinner reinvented in 10 minutes flat.
You can also use leftovers as a filling for lettuce wraps, or fold into a quick noodle stir-fry with whatever’s hanging around in your fridge.
Nutritional Information

(Per serving, based on 4 servings)
| Nutrient | Amount |
|---|---|
| Calories | ~320 kcal |
| Protein | 28g |
| Carbohydrates | 16g |
| Fat | 14g |
| Fiber | 3g |
| Sodium | ~950mg |
| Sugar | 4g |
Values are estimates and will vary based on specific ingredients and portion sizes.
FAQs
Can I use a different cut of beef for Chinese beef and broccoli?
Absolutely! Flank steak is the classic, but skirt steak, sirloin, or even ribeye all work great. The key is always slicing thin and cutting against the grain regardless of which cut you choose. Tougher, less expensive cuts benefit most from the baking soda velveting treatment.
What can I substitute for Shaoxing wine?
Dry sherry is the closest swap and works really well in a pinch. Mirin is another option, though you’ll want to reduce the sugar slightly since mirin brings its own sweetness. You can also leave it out entirely and add a little extra stock — the flavor won’t be quite as complex but it’ll still be delicious.
Can I make the sauce ahead of time?
Yes, and it’s a great meal-prep move! Mix the easy beef and broccoli sauce and store it in a sealed jar in the fridge for up to 3 days. Give it a good shake before using since the cornstarch settles to the bottom. It makes weeknight cooking noticeably faster.
Why isn’t my beef as tender as at a restaurant?
The answer is almost always velveting — that marinade combination of cornstarch, oil, and optional baking soda. Most home cooks skip it, but it’s genuinely what gives restaurant-style tender beef and broccoli that impossibly silky bite. Don’t skip it, and make sure you’re slicing against the grain too!
Is this recipe gluten-free?
It can be easily adapted! Just swap both soy sauces for tamari or a certified gluten-free soy sauce, and make sure your broth is gluten-free. Everything else in the recipe is naturally fine. It’s an easy swap that doesn’t compromise the flavor at all.
Try It and Share Your Results!
There you have it — the Chinese beef and broccoli recipe that genuinely rivals your favorite takeout spot, made right in your own kitchen in under 30 minutes. It’s fast, incredibly saucy, and honestly a little bit better knowing you made it yourself.
Give it a try this week! If you loved it, please save it to Pinterest so others can find it too — and drop a comment below letting me know how it went. Did you add extra garlic? Try it with chicken? I want to hear all about it!
And if you’re in a baking mood after dinner, these easy Hamantaschen cookies or these gorgeous lemon blueberry cupcakes make the perfect sweet finish. Or if you want something a little fancy, these lavender honey cupcakes are absolutely dreamy.

Chinese Beef and Broccoli
Equipment
- Large nonstick skillet
- Mixing bowls
- Sharp knife
- Cutting board
- Tongs
- Lid for skillet
Ingredients
Meat and Marinade
- 1 lb Flank steak or skirt steak; sliced thin against the grain
- 1 tablespoon Soy sauce for the marinade
- 1 tablespoon Peanut oil or vegetable oil
- 1 tablespoon Cornstarch creates a silky, velvety coating
- ½ teaspoon Baking soda optional; for extra-tender velveted beef
Sauce
- ½ cup Chicken stock or beef stock; base of the easy beef and broccoli sauce
- 2 tablespoons Shaoxing wine or dry sherry
- 2 tablespoons Soy sauce
- 1 teaspoon Dark soy sauce for color and richness
- 2 teaspoons Brown sugar or white sugar
- 1 tablespoon Cornstarch thickens the sauce
Stir-Fry
- 1 head Broccoli cut into bite-size florets
- 1 tablespoon Peanut oil or vegetable oil; high smoke point for better sear
- 3 Garlic cloves minced
- 2 teaspoons Fresh ginger minced
Instructions
- Slice the beef against the grain into 0.5 cm (¼ inch) thick slices or 1 cm (½ inch) sticks. Transfer to a small bowl. Add soy sauce, peanut oil, cornstarch, and optional baking soda. Gently mix by hand until all slices are coated in a thin, glossy layer. Marinate for 10 minutes while preparing the other ingredients.
- Combine all sauce ingredients — chicken stock, Shaoxing wine, soy sauce, dark soy sauce, brown sugar, and cornstarch — in a medium bowl. Whisk until completely smooth. Set aside, but stir again before using as the cornstarch will settle.
- Add ¼ cup water to a large nonstick skillet over medium-high heat. Once boiling, add the broccoli florets and cover with a lid. Steam for about 1 minute until the broccoli is vibrant green and just barely tender. Transfer to a plate and wipe out the pan if any water remains.
- Add oil to the dry skillet and swirl to coat. Heat over medium-high until shimmering. Spread the marinated beef in a single layer and cook undisturbed for 30 seconds until the bottom is browned. Flip and cook the other side for a few seconds, then stir and cook until the surface is lightly charred but the inside is still just slightly pink.
- Add the minced garlic and ginger to the pan. Stir for 20–30 seconds until fragrant. Do not let the garlic burn or it will turn bitter.
- Return the broccoli to the pan. Give the sauce a final stir to fully dissolve the cornstarch, then pour it into the skillet. Cook and stir for about 1 minute until the sauce thickens and coats everything in a glossy sheen. Transfer immediately to a serving plate and serve hot.
