High-Protein Beef and Broccoli Meal Prep Bowls Better Than Takeout
Key Takeaways
- Flank steak sliced against the grain stays tender through four days of reheating — the key is a quick 90-second sear, not a long simmer.
- Blanching the broccoli before it hits the pan keeps it bright green and crisp instead of army-green and limp.
- Each bowl lands around 38 g of protein and 480 calories, for roughly $3.40 CAD per portion using strip loin on sale at No Frills.
- The ginger-soy glaze doubles as a marinade, so the whole batch comes together in about 45 minutes.
Every January, the takeout apps in Toronto seem to sense weakness. The coupons arrive right when the post-holiday slump hits, and before you know it you’ve spent $22 on a beef and broccoli that arrives lukewarm with more rice than beef. This beef and broccoli meal prep is the antidote: five lunches’ worth of glossy, ginger-soy beef and properly green broccoli, ready to reheat in three minutes flat, for less than the delivery fee on that takeout order.
I’ve made some version of this bowl nearly every Sunday for three years, and the method below is the one that survived all the tweaking. The beef stays tender on day four. The sauce actually clings instead of pooling at the bottom of the container. And at roughly 38 grams of protein per bowl, it keeps you full through the afternoon in a way that sad desk salads never manage.
Why This Beef and Broccoli Meal Prep Actually Beats Takeout
Takeout beef and broccoli has two structural problems. First, it sits in a hot bag for 40 minutes, which overcooks the broccoli into mush and turns the sauce into a gluey film. Second, the beef-to-rice ratio is never in your favour. When you cook it yourself, you control both — and you can double the beef without doubling the bill if you shop the flyers.
The real trick, though, is the sear. Most home recipes tell you to stir-fry everything together, which steams the beef in the broccoli’s moisture. Instead, we sear the beef alone in a screaming-hot pan for about 90 seconds, pull it out, then cook the broccoli in the same pan. The beef goes back in only at the end, just long enough to get coated in sauce. This is the difference between restaurant-tender and shoe-leather, and it costs you nothing extra.

Ingredients for 5 High-Protein Bowls
The shopping list is short, and almost everything keeps for weeks in the pantry, so the repeat cost of this prep is mostly just the beef and the broccoli.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank steak (or strip loin) | 900 g | Sliced thin against the grain |
| Broccoli | 3 large heads (about 900 g) | Cut into bite-size florets |
| Jasmine rice | 2 cups dry (about 400 g) | Makes 5 cups cooked |
| Soy sauce | 1/3 cup | Use low-sodium if you prefer |
| Oyster sauce | 3 tbsp | The backbone of the takeout flavour |
| Honey | 2 tbsp | Balances the salt |
| Fresh ginger | 1 tbsp, grated | About a thumb-size piece |
| Garlic | 4 cloves, minced | — |
| Cornstarch | 2 tbsp | Split between marinade and sauce |
| Sesame oil | 1 tbsp | Stirred in off the heat |
| Neutral oil | 2 tbsp | For searing |
| Sesame seeds & green onion | To garnish | Optional but worth it |
The 5-Minute Ginger-Soy Glaze
Whisk the soy sauce, oyster sauce, honey, ginger, garlic, 1 tablespoon of the cornstarch, and 1/2 cup of water in a bowl. That is the whole sauce. It does triple duty: a third of it marinates the beef for 15 minutes, and the rest becomes the glaze that thickens in the pan. No separate marinade bowl to wash, no mysterious bottled “stir-fry sauce” that costs $6 at the Real Canadian Superstore.
Choosing the Right Cut
Flank steak is the classic choice because its long fibres, sliced thin against the grain, give you that chewy-tender takeout texture. But watch the flyers: when strip loin drops to $6.99/lb at No Frills or Food Basics, it sears up just as well and sometimes costs less than flank. Avoid stewing beef entirely — no amount of marinating will make chuck tender in a 90-second sear. If your budget is tight, this recipe also works with ground beef (cook it crumbled, drain the fat), though you’ll lose the takeout look.
How to Cook It: The Two-Pan Method
Start the rice first, because everything else moves fast once the pan is hot.
- Slice the beef. Partially freeze the steak for 30 minutes — it firms up and slices paper-thin with zero wrestling. Cut against the grain into strips about 5 mm thick.
- Marinate briefly. Toss the beef with a third of the sauce and 1 tablespoon of cornstarch. Fifteen minutes on the counter is plenty; longer and the salt starts drawing out moisture.
- Sear hard and fast. Heat a large skillet or wok over high heat until the oil shimmers and just starts to smoke. Sear the beef in two batches, 45–60 seconds per side. You want deep brown edges. Transfer to a plate — it should still look slightly underdone.
- Blanch the broccoli. While the beef rests, boil the florets for exactly 90 seconds, then drain. This sets the colour and guarantees tenderness without the pan-steaming problem.
- Build the sauce. In the same hot pan, pour in the remaining sauce. It will bubble and thicken in about 60 seconds as the cornstarch activates. If it gets too thick, splash in a tablespoon of water.
- Combine and glaze. Return the beef and broccoli to the pan. Toss for 60–90 seconds until everything is glossy and coated. Stir in the sesame oil off the heat.
- Portion it out. Divide the rice among five containers, top with the beef and broccoli, and spoon over any extra sauce. Garnish with sesame seeds and sliced green onion.
Total active time: about 45 minutes, and 15 of those are the rice cooking itself while you slice beef. If you own a rice cooker, this prep is practically hands-off.
Macros Per Bowl (Approximate)
Nutrition is estimated from standard ingredient data and will shift with your exact cut of beef and how generous you are with the rice. These numbers are a reasonable planning estimate, not a lab analysis.
| Bowl Component | Calories | Protein | Carbs | Fat |
|---|---|---|---|---|
| Beef (180 g cooked) + sauce | 310 | 34 g | 9 g | 15 g |
| Broccoli (180 g) | 60 | 5 g | 12 g | 1 g |
| Jasmine rice (1 cup cooked) | 205 | 4 g | 45 g | 0 g |
| Total per bowl | ~575 | ~43 g | ~66 g | ~16 g |
Want to push the protein higher? Swap half the rice for an extra 60 g of beef per bowl and you’ll clear 50 g of protein for roughly the same calories. Training hard and cutting carbs? Serve over cauliflower rice — the sauce is bold enough that you won’t miss the jasmine.
Cost Per Portion in Canada
Prices below are typical sale prices at No Frills and Walmart Canada in early 2026; your flyer may vary, especially for beef.
| Item | Qty Used | Est. Cost (CAD) |
|---|---|---|
| Flank/strip loin steak | 900 g | $13.50 |
| Broccoli, 3 heads | 900 g | $4.50 |
| Jasmine rice | 400 g dry | $1.60 |
| Sauce ingredients (pantry) | — | $2.00 |
| Total for 5 bowls | — | $21.60 |
| Per bowl | — | ~$4.30 |
Compare that with the $18–$24 a single beef and broccoli costs on a delivery app in the GTA, and the weekly savings are hard to argue with. Five bowls here cost about the same as one delivered dinner.
Canadian Meal Prep & Macro Estimator
Enter your costs in $ CAD and get per-portion cost, macros and freezer guidance.
Storage, Reheating, and Food Safety
Cool the bowls within two hours of cooking — spread the beef and broccoli on a sheet pan for 15 minutes if your kitchen runs warm — then refrigerate in sealed containers. They keep well for 4 days. Day five is a gamble I wouldn’t take with beef, so if your week runs long, freeze the fifth portion.
To reheat, sprinkle a teaspoon of water over the bowl, cover loosely, and microwave 2–3 minutes, stirring halfway. The water re-steams the rice and keeps the sauce glossy. Avoid reheating more than once. If you froze a portion, thaw it overnight in the fridge and reheat the same way — the texture holds up surprisingly well because the quick sear never overcooked the beef in the first place.
Containers That Actually Work
Use glass containers with locking lids if you can; the sauce stains plastic an unflattering orange-brown within two uses. Single-compartment containers are fine here since everything is meant to mingle, but if you like your rice separate, bento-style boxes from Costco Canada’s food storage aisle are the best value I’ve found.
Easy Variations
- Spicy Szechuan: Add 2 teaspoons of chili crisp and a splash of black vinegar to the sauce.
- Lower-carb: Swap the rice for shredded cabbage sautéed in the beef drippings.
- Budget ground beef: Brown 900 g of lean ground beef, drain, and toss with the sauce and blanched broccoli. Slightly less elegant, about $2 cheaper per batch.
- Snow pea swap: Replace half the broccoli with snow peas for a sweeter crunch — add them raw in the final toss.
- Meal-prep fried rice: Day-four leftovers chopped small make an excellent fried rice with a scrambled egg stirred through.
This is the kind of prep that converts sceptics. It tastes like the takeout you actually wanted, it reheats like it was made that morning, and it costs less per week than a single delivery order. Put it in the rotation and your future self — the one staring down a Wednesday with no lunch plan — will thank you.


