Healthy Beef and Broccoli (20 Minutes, 36g Protein)

It's Wednesday, 6:45 p.m. The flank steak you bought on Sunday has to be cooked tonight, and the last time you stir-fried steak it came out gray, chewy and swimming in its own juice.
Beef and broccoli is the fix, done the way restaurants do it. Thin strips of flank steak get a quick soy and cornstarch coating, sear hard in a very hot skillet, then meet bright green broccoli in a glossy sauce of soy, oyster sauce, garlic and ginger. Each plate has 36 grams of protein and about 330 calories.
From cutting board to table it takes 20 minutes. Most of the result depends on one cut of the knife, so start there.
Why it works
Steak does the heavy lifting
Flank steak is one of the leanest cuts at the meat counter, with about 22 grams of protein per 100 grams raw. Each plate gets 5 ounces of it, about 31 grams of protein on its own. The broccoli adds 3 more, and the sauce stays light, so nearly every calorie goes toward the beef.
Ten minutes at the stove
The beef coats itself while you cut the broccoli and stir the sauce. After that everything happens in one skillet: broccoli steams for three minutes, the beef sears in two fast batches, and the sauce thickens in about a minute. There's no marinating overnight and no second pan to wash.
Tender beef, glossy sauce
Slicing against the grain shortens the long muscle fibers of flank steak, so each strip bites clean instead of stringy. The cornstarch coating protects the surface in the hot pan and holds in juice. The same starch in the sauce turns it shiny and thick enough to cling to every floret.
Nutrition per serving
- Calories
- 329 kcal
- Protein
- 36 g
- Carbs
- 17 g
- Fat
- 13 g
- Fiber
- 3.5 g
Nutrition calculated from USDA FoodData Central
Recipe
Healthy Beef and Broccoli (20 Minutes, 36g Protein)
Protein in this batch: 144 g
Equipment
- 12-inch skillet or wok with lid
- Sharp chef's knife
- Cutting board
- Small bowl and whisk
- Medium mixing bowl
Ingredients
Top sirloin works the same way. Put the steak in the freezer for 15 minutes before slicing if you have the time: firm meat is much easier to cut into thin, even strips.
Regular soy sauce is much saltier. If that's what you have, replace 1 tablespoon of it in the sauce with water.
It gives the sauce its deep, savory-sweet restaurant flavor. Most brands contain wheat; look for one labeled gluten-free if you need it.
Instructions
Slice the steak against the grain
Look for the long lines running down the flank steak: that's the grain. Cut the steak with the grain into strips about 2 inches wide, then turn each strip and slice it across the grain into pieces 1/4 inch thick. Toss them with 1 tablespoon of soy sauce, 1 tablespoon of cornstarch and the pepper until every piece looks matte and lightly coated.

Stir the sauce together
In a small bowl, whisk the beef broth, the remaining 2 tablespoons of soy sauce, oyster sauce, brown sugar, sesame oil and the remaining 1 tablespoon of cornstarch until no white streaks remain. It will look thin and cloudy brown. Set it next to the stove with the whisk still in it.
Steam the broccoli
Put the broccoli and the water in the skillet, cover and cook over medium-high heat for 2 to 3 minutes, until the florets turn bright green and a knife meets slight resistance in the stems. Tip them onto a plate, pour out any water left behind and wipe the skillet completely dry.
Sear the beef in two batches
Heat 1 teaspoon of the canola oil over high heat until it shimmers and just starts to smoke. Lay half the beef in a single layer, strips not touching, and leave it alone for 60 to 90 seconds, until the undersides are deep brown. Flip and cook 30 to 60 seconds more, then move it to a plate. Repeat with another teaspoon of oil.

Cook the aromatics and thicken the sauce
Lower the heat to medium and add the last teaspoon of oil, the garlic and the ginger. Stir for about 30 seconds, until fragrant but not browned. Whisk the sauce again and pour it in. It bubbles right away and, within a minute, turns from cloudy to glossy, dark and thick enough to coat a spoon.
Toss everything and serve
Return the beef, with any juices from the plate, and the broccoli to the skillet. Toss for 45 to 60 seconds, just until everything is coated in shiny sauce and the beef is hot through. Turn off the heat, scatter the green onions and sesame seeds over the top and serve right away.

Per serving: 329 kcal · 36 g protein · 17 g carbs · 13 g fat · 3.5 g fiber. Nutrition calculated from USDA FoodData Central.
Mistakes to avoid
Slicing with the grain
Cut parallel to the muscle fibers and every strip keeps them long and intact, so the beef chews like rubber bands no matter how carefully you cook it. The grain on flank steak is easy to see. Always cut across those lines, and keep the slices thin: 1/4 inch or less.
Putting all the beef in at once
A pound of cold beef drops the skillet temperature in seconds. The strips release their juice, the juice can't evaporate fast enough, and the beef boils into gray pieces with no crust. Two batches in a screaming-hot pan take two extra minutes and give you real browning.
Leaving water in the skillet
Any water left over from steaming the broccoli sputters in the hot oil, cools the pan and thins the sauce later. Wiping the skillet dry takes ten seconds. Pat the broccoli dry too if it looks wet, so the sauce clings instead of sliding off.
Simmering the beef in the sauce
Thin strips are already cooked through after the sear. If they simmer in the sauce for several minutes, they tighten and go dry. The beef goes back in at the very end and only needs to get hot and glossy, which takes less than a minute.
Variations
Top sirloin version
Use 1 1/4 lb (567 g) of top sirloin steak, trimmed of any outside fat. It's a little more tender than flank, and the grain is less obvious, so look closely before slicing. Cooking times stay the same, and it comes out slightly leaner (about 37 g protein, 315 kcal).
Meal prep bowls with rice
Cook 1 cup (185 g) of dry long-grain white rice before you start, then divide it with the beef and broccoli among four containers. Keep the sauce slightly loose by adding 2 tablespoons of water, since the rice absorbs some as it sits (about 39 g protein, 498 kcal).
Beef, broccoli and mushrooms
After searing the beef, add 8 oz (227 g) of sliced white mushrooms to the hot skillet with no extra oil and cook them 4 to 5 minutes, until browned and their liquid evaporates. Continue with the garlic and ginger. They add a deep, meaty flavor and more volume (about 38 g protein, 342 kcal).
Storage
- Fridge
- Keep leftovers in an airtight container for up to 4 days. The broccoli softens a little and the sauce thickens overnight, but the flavor holds well.
- Freezer
- Freeze in portions for up to 2 months. The broccoli comes out softer after thawing, so this works best if you don't mind a more tender texture. Thaw overnight in the fridge.
- Reheat
- Warm in a skillet over medium heat with 1 to 2 tablespoons of water for 2 to 3 minutes, stirring, until hot throughout. In the microwave, heat covered in 45-second bursts so the beef doesn't turn tough.
FAQ
What is the best cut of beef for beef and broccoli?
Flank steak is the classic choice because it's lean, full of beefy flavor and has a clear grain that makes slicing easy. Top sirloin is the best alternative and is often cheaper. Skirt steak works but carries more fat. Avoid stew meat or chuck, which need long, slow cooking to turn tender and stay chewy in a quick stir-fry.
How do you keep beef tender in beef and broccoli?
Three things: slice thin against the grain, coat the strips in a little soy sauce and cornstarch, and sear them fast over very high heat. The cornstarch forms a light shield that holds in juice. Cook the beef in batches and take it out as soon as it's browned, then return it only at the end to warm through in the sauce.
How many calories are in beef and broccoli?
This version has about 330 calories and 36 grams of protein per plate before rice. Restaurant beef and broccoli usually uses fattier beef, more oil and a sweeter, thicker sauce, so a takeout order often runs well higher. Adding 3/4 cup of cooked white rice brings this recipe to roughly 500 calories.
Can I use frozen broccoli for beef and broccoli?
Yes. Skip the steaming step and cook the frozen florets straight in the dry skillet over medium-high heat for 4 to 5 minutes, stirring, until thawed and hot. Drain off the liquid they release and pat them dry before continuing. Frozen broccoli ends up softer than fresh, but the macros stay the same.
What is beef and broccoli sauce made of?
The base is soy sauce, oyster sauce and beef broth, sweetened with a little brown sugar and thickened with cornstarch. Garlic and ginger are cooked in oil first, and a teaspoon of toasted sesame oil adds a nutty finish. Oyster sauce is the ingredient that makes it taste like the restaurant version, so don't skip it.


