Beef and Broccoli Stir-Fry (48g Protein, No Rice Required)
Tender seared beef and crisp broccoli in a savory umami sauce, served over cottage cheese cauliflower fried rice. We rebuilt the takeout classic from the ground up to pack 48g of protein per serving — without sacrificing the flavor that makes the original worth ordering in the first place.

“The takeout version of beef and broccoli is fine. It's also 520 calories, 48g of carbs, and 32g of protein — which is mediocre math if you're serious about your macros. This version flips those numbers: 48g of protein, 18g of carbs, and a cottage cheese cauliflower rice that is genuinely satisfying rather than a sad substitution. The beef stays tender. The broccoli stays crisp. The sauce is identical. The rice is better.”
Why This Recipe Works
The problem with high-protein makeovers of takeout classics is that they usually sacrifice the thing that made the original worth eating. Lower the carbs, double the protein, halve the flavor. You end up with something that technically hits your macros and genuinely makes you wish you'd just ordered the real version.
This recipe doesn't work that way. The beef-broccoli component is essentially unchanged from the original — same sauce architecture, same technique, same result. The innovation is entirely in the rice. And it turns out that cottage cheese cauliflower rice, when treated as a real dish rather than a compromise, is legitimately good.
The Beef
Lean sirloin and flank steak are unforgiving cuts. They have almost no intramuscular fat to compensate for poor technique, which means every step of the prep matters more than it would with a fattier cut like chuck. Slicing thin against the grain shortens the muscle fibers so the meat is tender rather than chewy. Drying the surface completely before searing creates the Maillard reaction that builds flavor. Searing in two uncrowded batches ensures you're actually browning rather than steaming.
The cornstarch coating does two things: it creates a thin crust that keeps moisture inside the beef during the high-heat cook, and it gives the sauce something to adhere to. Without it, the sauce pools at the bottom of the bowl instead of coating every piece. This is standard technique in Chinese restaurant cooking — called velveting — and it's the reason takeout beef tastes different from beef you cook at home without thinking about it.
The Cottage Cheese Rice
Here's what most people get wrong: they treat cottage cheese as an ingredient to hide. They blend it smooth, mix it into something, or add so many other flavors that it disappears. This recipe does the opposite — it lets the cottage cheese behave like cottage cheese, with intact curds that provide texture and protein density without dominating the flavor of the finished dish.
The fine-mesh sieve step is not optional. Cottage cheese is approximately 80% water by weight, and that water will ruin the texture of your rice if you don't remove it first. Five minutes of passive draining is all it takes. The curds firm up slightly as they lose liquid, which makes them much easier to fold into the cauliflower rice without pulverizing them.
Cauliflower rice alone has a weak, slightly sulfurous flavor that announces itself as a substitution. Cottage cheese neutralizes that by adding mild dairy richness that reads as umami rather than diet food. The scrambled eggs bind the whole thing together and contribute additional protein, making the rice feel substantial rather than like a pile of riced vegetables.
The Sauce
The three-ingredient sauce — soy sauce, oyster sauce, sesame oil — is deliberately minimal. Oyster sauce provides the sweet, briny body that makes this taste like takeout rather than home cooking. Sesame oil provides the aromatic finish that coats the inside of your nose as you eat. Low-sodium soy sauce keeps the sodium at a reasonable 680mg per serving rather than the 1000mg-plus you'd get from regular soy sauce.
The key is adding the sauce to a hot pan with aromatics already in it. Pouring it into a cold pan produces raw-tasting soy sauce. Pouring it into a hot pan with garlic, ginger, and green onion builds a fast flavor base in under a minute. The 30 seconds of tossing everything together is what makes it a sauce rather than a condiment sitting on top of the ingredients.
This dish is also genuinely better the next day. The beef absorbs the sauce as it sits, and the cottage cheese rice firms up in the fridge into something with more structural integrity than it had fresh. Store them separately. Combine at the bowl.
Where Beginners Mess This Up
Before we start, read this. These are the 4 reasons your beef and broccoli stir-fry (48g protein, no rice required) will fail:
- 1
Crowding the pan when searing the beef: If you dump all the beef in at once, the pan temperature drops and you steam the meat instead of searing it. You get grey, rubbery strips instead of caramelized, browned slices. Work in two batches. The extra two minutes is the entire difference between restaurant-quality and sad takeout.
- 2
Not draining the cottage cheese: Cottage cheese holds a significant amount of liquid. If you skip draining, that liquid releases into the cauliflower rice and you get a soggy, watery mess instead of a cohesive fried rice texture. Drain it through a fine-mesh sieve for at least five minutes before folding it in.
- 3
Overcooking the broccoli: Tender-crisp means exactly that: it should still have resistance when you bite it. Four to five minutes in a hot pan with some charring on the edges is the target. If the broccoli is soft and khaki-green, it's overdone and has lost both its texture and most of its nutrients.
- 4
Slicing the beef with the grain instead of against it: Muscle fibers run lengthwise through a cut of beef. Slicing with the grain gives you long, tough, chewy strips. Slicing against it — perpendicular to those fibers — shortens them, producing tender, easy-to-eat pieces. This is non-negotiable with lean sirloin or flank, which has no marbling to compensate for poor technique.
The Video Reference Library
Want to see it in action? Here are the exact videos we analyzed and combined to build this foolproof recipe translation:

Classic technique walkthrough covering high-heat searing, sauce ratios, and how to keep broccoli crisp without undercooking the beef.
2. Cottage Cheese Fried Rice Method
Demonstrates how to fold cottage cheese into cauliflower rice without breaking the curds or creating a watery texture. Essential viewing before your first attempt.
3. High-Protein Meal Prep Guide
Covers batch cooking this dish for four days of lunches or dinners, including optimal storage and reheating without drying out the beef.
🛠️ Core Equipment
- Large wok or wide skillet ↗High surface area means faster moisture evaporation and actual searing rather than steaming. A crowded 10-inch pan is the enemy of stir-fry. Use the biggest pan you own.
- Fine-mesh sieve ↗Essential for draining the cottage cheese before adding it to the cauliflower rice. Excess whey will ruin the texture of the finished dish if you skip this step.
- Separate nonstick skillet ↗You're cooking the cottage cheese rice in a separate pan from the beef-broccoli stir-fry. Trying to do both in one pan sequentially means either the beef gets cold or the rice gets rushed. Two pans, run simultaneously for the last five minutes.
- Paper towels ↗Patting the beef completely dry before seasoning is what allows a proper sear to form. Surface moisture turns into steam the moment it hits the hot pan, which prevents browning. Dry meat = Maillard reaction = flavor.
Beef and Broccoli Stir-Fry (48g Protein, No Rice Required)
🛒 Ingredients
- ✦1.25 lbs lean beef sirloin or flank steak, thinly sliced against the grain
- ✦4 cups fresh broccoli florets
- ✦2 cups small-curd cottage cheese, drained
- ✦1.5 cups riced cauliflower (fresh or frozen)
- ✦3 large eggs
- ✦3 cloves garlic, minced
- ✦1 tablespoon fresh ginger, minced
- ✦3 green onions, chopped (white and green parts separated)
- ✦3 tablespoons low-sodium soy sauce
- ✦1 tablespoon oyster sauce
- ✦1 teaspoon sesame oil
- ✦2 tablespoons avocado oil, divided
- ✦1/4 teaspoon red pepper flakes
- ✦1 teaspoon cornstarch
- ✦Salt and black pepper to taste
👨🍳 Instructions
01Step 1
Pat the sliced beef completely dry with paper towels and season generously with salt and black pepper.
02Step 2
Toss the dried beef with the cornstarch in a bowl until evenly coated.
03Step 3
Heat 1 tablespoon avocado oil in a large wok or skillet over medium-high heat until shimmering, about 1 minute.
04Step 4
Sear the beef in two batches — 2 to 3 minutes per side until browned but still slightly pink inside. Transfer each batch to a clean plate. Do not crowd the pan.
05Step 5
Add the remaining tablespoon of avocado oil to the same pan. Stir-fry the broccoli florets over medium-high heat for 4 to 5 minutes until tender-crisp with lightly charred edges. Push to the side of the pan.
06Step 6
Add the minced garlic, ginger, and the white parts of the green onions to the cleared space in the pan. Cook for about 1 minute until fragrant.
07Step 7
Whisk together the soy sauce, oyster sauce, and sesame oil in a small bowl, then pour into the pan. Stir everything together for 30 seconds.
08Step 8
Return the seared beef and any accumulated juices to the pan. Toss to coat everything in the sauce and cook for 1 more minute until heated through. Remove from heat.
09Step 9
In a separate nonstick skillet over medium heat, scramble the eggs until just cooked through, about 3 to 4 minutes. Transfer to a plate.
10Step 10
In the same skillet, cook the riced cauliflower over medium-high heat for 3 to 4 minutes, stirring occasionally, until it softens and begins to lightly brown.
11Step 11
Fold the drained cottage cheese and scrambled eggs into the cauliflower rice. Stir gently — you want to combine, not pulverize. Some intact curds are good.
12Step 12
Season the cottage cheese cauliflower rice with salt, black pepper, and red pepper flakes to taste.
13Step 13
Divide the rice among four bowls. Top each with equal portions of the beef and broccoli. Garnish with the reserved green onion tops and serve immediately.
Nutrition Per Serving
Estimates based on standard preparation. Adjustments alter macros.
🔄 Substitutions
Instead of Cottage cheese...
Use Silken tofu, pressed and crumbled
Keeps the dish dairy-free. Less protein per serving (drops to roughly 38g). Drain the tofu well and crumble it into small curds before folding into the cauliflower rice.
Instead of Riced cauliflower...
Use Riced broccoli stems
Zero waste option. The stems you trim from the florets can be riced in a food processor. Similar texture to cauliflower with a slightly more assertive flavor.
Instead of Lean sirloin or flank steak...
Use Ground turkey or chicken thigh strips
Ground turkey cooks in 5 minutes and requires no slicing or searing technique. Protein stays high but the texture is completely different — more of a hash than a stir-fry.
Instead of Oyster sauce...
Use Hoisin sauce
Slightly sweeter and thicker. Use 2 teaspoons instead of 1 tablespoon to avoid oversweetening. Works well and is shelf-stable for longer than oyster sauce.
🧊 Storage & Reheating
In the Fridge
Store the beef-broccoli and cottage cheese rice in separate airtight containers for up to 4 days. Combining before storage makes the rice watery.
In the Freezer
Freeze the beef-broccoli only for up to 2 months. The cottage cheese rice does not freeze well — the texture breaks down on thawing and becomes grainy.
Reheating Rules
Reheat the beef-broccoli in a skillet over medium heat with a splash of water or soy sauce for 2-3 minutes. Reheat the rice in a nonstick pan over medium heat for 3-4 minutes. Microwave works in a pinch but dries out the beef.
❓ Frequently Asked Questions
Does the cottage cheese rice actually taste good?
Yes, but you have to season it properly. Cottage cheese and cauliflower are both mild, so the salt, pepper, and red pepper flakes do most of the work. Under-seasoned cottage cheese rice tastes like diet food. Properly seasoned, it reads as a satisfying, slightly creamy alternative to fried rice.
Why does my beef come out tough and grey?
Two likely causes: you didn't dry the beef before searing, or you crowded the pan. Surface moisture creates steam, which prevents browning. Crowding drops the pan temperature below the Maillard reaction threshold. Dry beef, hot pan, two batches.
Can I use frozen riced cauliflower?
Yes, but thaw it completely and squeeze out excess moisture with a clean kitchen towel before cooking. Frozen cauliflower holds significantly more water than fresh and will make the rice soggy if you skip this step.
How do I get 48g of protein per serving?
The protein comes from three sources: the lean beef (roughly 28g per serving), the cottage cheese (roughly 14g per serving), and the eggs (roughly 6g per serving). Each component contributes meaningfully, which is why the substitutions all come with protein caveats.
Is this actually low-carb?
Relative to the original, yes — 18g carbs versus 48g in the traditional version. For strict keto, check your oyster sauce label, as some brands contain added sugar. The soy sauce and oyster sauce are the main carb contributors in this dish.
Can I make this without a wok?
Absolutely. Use the largest skillet you own, preferably stainless steel or cast iron. The key is surface area and high heat — both allow moisture to evaporate fast enough to sear rather than steam. A crowded 10-inch nonstick pan will not produce the same results regardless of technique.
The Science of
Beef and Broccoli Stir-Fry (48g Protein, No Rice Required)
We turned everything on this page into a beautiful, flour-proof PDF cheat sheet. Print it out, stick it to your fridge, and never mess up your beef and broccoli stir-fry (48g protein, no rice required) again.
*We'll email you the high-res PDF instantly. No spam, just perfectly cooked meals.
AlmostChefs Editorial Team
We translate the internet's most popular cooking videos into foolproof, beginner-friendly written recipes. We analyze multiple methods, test them in our kitchen, and engineer a single "Master Recipe" that gives you the best possible result with the least possible stress.