Flavor-packed healthy beef and broccoli stir fry recipe is made with fresh, whole ingredients, ready in 25 minutes, and is super easy to make. Gluten-free, paleo, and Whole30.

We’ve been making this healthy beef & broccoli stir fry for years and it always hits the spot! Super easy to make, packed with protein and veggies, and has an easy sweet and savory sauce with a little kick that makes the dish. And I know exactly what is going into it, unlike your typical take-out.
Chinese was a staple for us growing up during the cooler months. My mom loves it and once the weather got cold, we would probably get it a couple of times a month, either on the weekend or when she didn’t feel like cooking. I never ordered beef & broccoli though – I was more of a sweet & sour chicken kind of girl (aka chicken nuggets).
But Michael loves beef and broccoli and introduced it to me a while back and I absolutely love making it at home when the craving hits!

Is Chinese beef and broccoli healthy?
Chinese beef and broccoli can be a healthy dish as it is loaded with protein, has veggies and fiber, and healthy fats. Making it at home ensures you know exactly what is going into it, as getting it out it can be loaded with sodium and sugars.
One cup of this healthy beef and broccoli has 217 calories, 18 grams of protein, 13 grams of carbs, 10 grams of fat, and 2 grams of fiber. It is also loaded with vitamin B3, B6, B12, vitamin C, vitamin K, phosphorus, selenium, and zinc.
Does beef and broccoli have carbs?
Yes, this homemade beef and broccoli will have carbs due to the broccoli and coconut aminos. The majority of carbs are coming from the sauce. Coconut aminos are higher in carbohydrates than your typical soy sauce, so to decrease the number of carbs, you can use soy sauce or tamari (gluten-free soy sauce).
Beef and broccoli ingredients
- flank steak
- broccoli
- coconut aminos
- chicken broth
- lime juice
- toasted sesame oil
- fresh garlic
- fresh ginger
- red pepper flakes
- arrowroot flour
- oil
- salt & pepper

How to make beef & broccoli
- In a small bowl or jar, make the sauce by combining the coconut aminos, broth, lime juice, sesame oil, garlic, ginger, red pepper flakes, and pepper. Add two tablespoons of the sauce in another small bowl along with the arrowroot flour and mix well. Set both of them aside.
- Next, prep your ingredients by slicing the steak into thin strips and the broccoli into florets.
- Liberally season the sliced steak with salt and pepper. Heat a large skillet over medium heat, add oil, and let it get hot. Add slices of beef, without overcrowding, and cook 30 seconds per side. Remove from pan and repeat with remaining beef (I had to do this in 3 batches).
- Leaving the beef juices in the pan, add broccoli. Add 2 tablespoons of the stir-fry sauce (not the one with the arrowroot), mix well, and cover with a lid. Cook for 3-5 minutes until tender. Remove from the pan and set aside (leave behind any juices).
- Then, add remaining sauce as well as the arrowroot sauce to the pan. Reduce to medium-low and cook until thickened and coats the back of a spoon (nappe consistency), about 2-3 minutes. Add the beef and broccoli back to the pan, leaving behind their juices, and stir to combine and heat through about 1 minute. Be careful not to add the liquid from the beef and broccoli as it will thin the sauce.
- Serve with cauliflower or white rice, top with optional toppings, and enjoy!
What is the best cut of meat for stir fry?
Using the right kind of beef can make or break your stir fry. I love using flank steak as it is a little leaner, but still has some fat to give it flavor. Sirloin steak and skirt steak are also good choices. Cooking the beef quickly over medium-high heat will give you tender beef.
What is beef and broccoli sauce made of?
Beef and broccoli sauce ingredients consist of coconut aminos, broth, lime juice, sesame oil, fresh ginger and garlic, red pepper flakes, and a little arrowroot flour. They come together to make the perfect sweet and savory sauce with a little bit of spice.
The two main ingredients that you might not be familiar with are coconut aminos and arrowroot flour.
- Coconut aminos are a gluten-free soy sauce substitute that comes from the sap of a coconut tree, giving them a slight sweetness in flavor. This brand is my favorite.
- Arrowroot flour is a gluten-free and grain-free flour that is used as a thickener in some cooking and a flour in baking.

What to serve with beef and broccoli
- white or brown rice
- quinoa
- cauliflower rice
- over noodles (zucchini, pasta…)
Beef & broccoli meal prep
Beef & broccoli makes great for meal prep. If you have a family of 4 or want leftovers, I would suggest doubling the recipe. Michael and I can eat almost the whole recipe it’s that good.
If making it in advance, be careful not to overcook the meat as it will cook some when you are heating it up.
I haven’t tried freezing this, but I think it should work.
Tips for the best beef and broccoli
- Make sure you cut your beef very thin. I suggest popping it in the freezer for 10-15 minutes so it is easier to slice, cutting against the grain, and using a sharp knife. Check out this turtorial! I usually just do 10-15 minutes, but will depend on how thick your meat is.
- Cut your beef and broccoli florets into uniform pieces so they cook evenly.
- Season your beef with salt and pepper to give it some flavor.
- Make sure not to overcrowd the beef when cooking – I do mine in a few batches. It will come back in the pan at the end so keep that in mind as well. No one likes overcooked beef.
- Be careful not to add the beef and broccoli juice back into the pan. While the beef and broccoli are sitting while you make the sauce, they will give off some juice. While there is flavor in there (especially the beef juices), if you add them back to the pan, it will thin the sauce.

Substitutions or additions
- flank steak – sirloin steak or skirt steak can also be used.
- veggies – feel free to add more veggies if you like. This will make it a little less authentic, but onions, bell peppers, mushrooms, and carrots would all be great additions.
- coconut aminos – low sodium soy sauce or tamari will work instead, it will just change the flavor a bit. Using either one of those will lower the carbs in the recipe. If using soy sauce, the recipe will not be gluten-free. Do not use liquid aminos as they are way too salty.
- broth – you can use either beef broth or veggie broth instead of chicken broth.
- fresh garlic – you can use garlic powder instead. If using garlic powder, use 1 teaspoon
- fresh ginger – you can use ground ginger instead. If using ground ginger, use 1 teaspoon.
- arrowroot flour – tapioca flour or cornstarch can be used instead of arrowroot.
- oil – any kind of neutral oil will work
More healthy dinner recipes
- Healthy Chicken Pad Thai (Paleo)
- Philly Cheesesteak Skillet
- Shrimp Rice Noodles with Peanut Butter Sauce
- Chicken and Broccoli Stir Fry (Paleo/Whole30)
- Buffalo Chicken Casserole


Beef and Broccoli Stir Fry
ingredients
- 1/2 tablespoon avocado oil
- 1 pound flank steak (thinly sliced)*
- 7 cups broccoli florets (415 grams/ 2 large heads)
- 1/3 cup coconut aminos
- 1/3 cup chicken broth
- 3 tablespoons lime juice
- 1 tablespoon toasted sesame oil
- 3 cloves garlic, minced
- 1 tablespoon grated ginger (about 2 inches)
- 1/2 teaspoon red pepper flakes
- 1 tablespoon arrowroot flour
- salt and pepper, to taste
- optional toppings: sesame seeds, green onions, red pepper flakes…
- for serving: white rice, brown rice, cauliflower rice…
instructions
- In a small bowl or jar, make the sauce by combining the coconut aminos, broth, lime juice, sesame oil, garlic, ginger, red pepper flakes, and pepper. Add two tablespoons of the sauce in another small bowl along with the arrowroot flour and mix well. Set both of them aside.
- Liberally season the sliced steak with salt and pepper. Heat a large skillet over medium heat, add oil, and let it get hot. Add slices of beef, without overcrowding, and cook 30 seconds per side. Remove from pan and repeat with remaining beef (I had to do this in 3 batches).
- Leaving the beef juices in the pan, add broccoli. Add 2 tablespoons of the stir-fry sauce (not the one with the arrowroot), mix well, and cover with a lid. Cook for 3-5 minutes until tender. Remove from the pan and set aside (leave behind any juices).
- Add remaining sauce as well as the arrowroot sauce to the pan, mixing to combine. Reduce to medium-low and cook until thickened and coats the back of a spoon (nappe consistency), about 2-3 minutes. Add the beef and broccoli back to the pan, leaving behind their juices, and stir to combine and heat through about 1 minute. Be careful not to add the liquid from the beef and broccoli as it will thin the sauce.
- Serve with cauliflower or white rice, top with optional toppings, and enjoy!
notes
nutrition
This post may contain affiliate links and I may make a little bit of money if you click on and purchase the products through the links. It doesn’t cost you any extra money. The compensation helps with expenses to keep ETG up and running. I truly appreciate your support!
Sarahi ramirez says
I’m so glad I made this recipe! It turned out delicious and it was so simple to put together! What’s even better my husband loved it!
Kelly says
So glad you both loved it! Thank you Sarahi!
Tonia Parker says
Delicious! Made this for the first time and the entire family loved it. I added some sliced mushrooms with the broccoli -yumm.. Next time I will cook the mushrooms a little first and then add broccoli (we like our broccoli firm.). Thank you for sharing, I’m off to check out more of your recipes 😉
Kelly says
Love the addition of mushrooms! Thanks for trying it Tonia and glad everyone enjoyed it!
Kristina says
SO easy & SO delicious! Have made this numerous times & it always hits the spot for our Chinese food cravings. I like to marinade the sliced beef in coconut aminos for about an hour before I cook them. Soaks up even more flavor!
Kelly says
Oh, that is such a good idea! Glad you enjoy it Kristina!
Katie says
Another amazing easy and healthy meal from Kelly! Definitely salty, but if you’re craving Chinese takeout I think that implies you’re prepared for some salt! (My sister commented that it was salty, my dad said “well I like salty food!”) I used thrive market coconut aminos which has 160mg sodium per tsp. I also used frozen broccoli and was careful to avoid adding the liquid back in, but the sauce still thinned out a bit after recombining. I will definitely try fresh broccoli next time (my fault for being lazy and using the frozen broccoli I had). Either way it was delicious!
Kelly says
Haha, yes, love that! Glad it worked out for you and you guys enjoyed! Thanks Katie!
Leandra says
Sesame oil and sesame seeds are NOT paleo.
Kelly says
Hi Leandra, I have never heard that. Paleo does include nuts and seeds (in moderation) so I’m not sure why sesame seeds would not be included. I have seen thousands of paleo recipes with sesame oil in it. Here is an article about it – https://www.thepaleomom.com/wiki/sesame-seed-oil/
Kristin says
Super simple and my fiancé loved it. The leftovers were great too!
Kelly says
Glad everyone enjoyed Kristin! Thank you for trying!
Maria says
Holy salt Batman!! I wish that I had read the comments before making it instead of while the sauce was thickening. IF we make this again I will for sure reduce the amount of aminos and just use the sauce on the beef, I’ll add steamed broccoli upon serving.
Kelly says
Hi Maria, I’m sorry to hear that. Appreciate you trying it and giving your honest feedback.
Maria says
UPDATE! I did a little research and discovered that the liquid aminos I used has 390 mg of sodium per teaspoon while the coconut aminos that Kelly recommended only has 90 mg per teaspoon. FOR SURE USE COCONUT AMINOS, DO NOT SUBSTITUTE!!
We will for sure try this again now that I know where I went wrong. Thanks for your response Kelly!!
Kelly says
Thank you for letting me know Maria! I went in and added a note to the recipe card to make sure people use coconut aminos. Hope you try it!
Steph B says
I had the same experience as Dave – the dish was SO salty that we couldn’t eat it and had to throw it all away. It smelled so good while it was cooking so it was a bummer when it was inedible. I guess it could be the coconut aminos I used, but it left a bad taste in my mouth, literally, so if I try this recipe again, it will be a while.
Kelly says
I’m so sorry to hear that Steph. I haven’t experienced that, but I guess it could be personal preference. Hope you give another one of my recipes a try. Thanks!
Dave F. says
The flavors in the dish sound good in concept, but my God, this has got to be the absolute saltiest stir fry I’ve ever tasted. As is my habit when making a dish for the first time, I followed the recipe exactly. It’s soooooooo salty, to the point of being inedible. I should have known that it would turn out that way when I saw that it called for 3/4 cup of coconut aminos, reduced. I gave the recipe the benefit of the doubt because it was my first time making it and I have only limited experience with coconut aminos. I should have trusted my instincts. If I ever make this dish again, I’ll use only 1/4 cup of aminos and use something like chicken broth for additional liquid to replace the other half cup of aminos.
Kelly says
Hi Dave. I am sorry to hear you did not like the dish. Beef and broccoli can be a salty dish, but I actually find coconut aminos to be way less salty than the typical soy sauce that is commonly used. Coconut aminos are actually kind of sweet and it depends on what brand you use, which could play a factor as why yours was so salty. I’m not sure if the broth would reduce down into a thick sauce though. I’ve had plenty of people make this dish and enjoy it, but it’s hard to please everyone. I appreciate you trying it would and I hope you try something else from my site. Thanks!
Heather says
Can you use frozen broccoli?
Kelly says
Yes, that should work! Just make sure to drain off the excess liquid if you have some so it doesn’t add water to the sauce. Hope you try it!