This post may contain affiliate links. Please read our disclosure policy.

This Whole30 Thai Basil Beef is sure to be a hit with everyone around your table.

Whole30 Thai Basil Beef

During a recent, January Whole30 challenge this Whole30 Thai Basil Beef quickly became my favorite meal. And one loved by my entire family who were not doing the challenge with me! It is PACKED full of flavor, filling, and oh-so comforting. I want to make this again and again — and I just might. 

here’s what you’ll need:

  • Flank Steak
  • White Onion
  • Red Bell Pepper
  • Garlic
  • Thai Chiles
  • Fresh Herbs: Thai Basil and Cilantro
  • Plus, a few more Whole30 pantry staples!

step one: prepare the steak

Once your ingredients are gathered, place the steak on a cutting board and tenderize the meat with a meat mallet or the bottom of a heavy skillet. Next, slice the steak into strips and add to a large bowl. Toss to coat with the seasonings listed below.

Whole30 Thai Basil Beef

step two: sear the steak

It is time to cook! To get a great sear on all of the beef, I recommend searing it in batches so you do not overcrowd the skillet. Once all is browned, remove from the skillet and add to a clean plate while you prepare the rest of the stir fry.

step 3: sauté the veggies

To the same skillet used for the steak, add the onion, garlic, bell peppers, Thai chilis, and additional salt and black pepper. Sauté until tender.

basil beef

step 4: finish the stir fry

Once the veggies are tender, add the steak back to the skillet along with the coconut aminos and fish sauce. Let the stir fry simmer until the sauce begins to thicken! Once thickened, remove the stir fry from heat, add the Thai basil, and toss until it begins to wilt.

Whole30 Thai Basil Beef

step 5: serve and enjoy!

While I often enjoy this stir fry as-is, you can also serve this alongside cauliflower rice or steamed rice if not doing a Whole30! Then top with fresh cilantro for an added boost of fresh flavor.

Basil Beef

If you’re a Thai food lover like me and love bold flavors, this Whole30 Thai Basil Beef is for you! Plus, it’s SO easy to make. Enjoy!

Whole30 Thai Basil Beef
5 from 6 votes

Whole30 Thai Basil Beef

Gluten-Free, Dairy-Free, Paleo, Whole30
Prep: 15 minutes
Cook: 17 minutes
Total: 35 minutes
Servings: 4


  • 1 1/2 pounds flap or flank steak
  • 1 teaspoon, plus 2 tablespoons avocado or olive oil (divided)
  • 2 teaspoon arrowroot or tapioca flour
  • 1 1/2 teaspoons kosher salt, divided
  • 3/4 teaspoon freshly ground black pepper, divided
  • 1/2 medium white onion, very thinly sliced
  • 4 garlic cloves minced
  • 1 large red bell pepper, seeds and core removed, very thinly sliced
  • 1-2 thai chiles very thinly sliced (sub 1/4 teaspoon crushed red pepper flakes)
  • 1/4 cup coconut aminos
  • 1 tablespoon fish sauce
  • 1 cup fresh Thai or regular basil, packed
  • prepared cauliflower rice, optional for serving
  • fresh cilantro, optional for serving
  • 1 lime, cut into wedges for serving


  • Place the steak on a cutting board. Using a meat mallet or the bottom of a skillet, pound out the flank steak to help tenderize and thin it out a bit. I like to try and get mine 1/2-inch thick.
  • Using a very sharp knife, carefully slice the meat against the grain as thinly as possible. For the really long strips of meat, cut them in half lengthwise.
  • Place sliced steak in a bowl and season with 1 teaspoon salt and 1/2 teaspoon black pepper. Add the 1 teaspoon of oil and the arrowroot. Toss to coat evenly.
  • Heat a skillet over high heat. Add the remaining 2 tablespoons of oil and when hot, sear the meat on both sides until golden brown, 2 to 3 minutes per side; working in batches as needed. You want each piece to get a good sear for the best results. I do mine in batches until all browned. As they are done, set the browned pieces aside on a clean plate.
  • In the same skillet, reduce the heat to medium. Add the onions, garlic, bell peppers, and thai chiles and season with remaining 1/2 teaspoon of salt and 1/4 teaspoon of black pepper. Saute until the onions are very tender, 5 to 7 minutes.
  • Add the browned beef back into the skillet along with the coconut aminos and the fish sauce. Let simmer until the sauce reduces and thickens, 2 to 3 minutes.
  • Remove from heat and add the basil. Toss the basil into the hot stir fry until just wilted.
  • Serve immediately with cauliflower rice (optional) and garnish with cilantro (if desired). Serve with a lime wedge.


Substitution Notes:
-If you are not following the Whole30 program, you can substitute cornstarch for the tapioca or arrowroot flour. 
-You can also sub soy sauce for the coconut aminos, but be mindful that it’s much saltier than coconut aminos. I suggest only using 2 tablespoons. 

Nutrition information is automatically calculated, so should only be used as an approximation.

Additional Info

Servings: 4

Photography and Styling by Jess Gaertner Creative.

Welcome! I’m Alex.

I’m a food lover sharing healthy, simple, delicious, recipes from my kitchen to yours. Here you’ll find lots of Whole30, lots of healthy, and a little indulgence here and there because…it’s all about balance y’all!

Similar recipes

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating


  1. 5 stars
    I’ve been making this recipe since Alex’s first cookbook came out. It’s so good and a family fav. In fact it’s on my menu plan for next week!

  2. Hey this recipe was fantastic! I used vegan fish sauce ( got it on Amazon) because I’m not a fan of real fish sauce but it was positively amazingly authentic!

    I also used shirataki fettuccine as a low carb “ Drunken Noodle “base for the Thai basil beef .

    Thank you so much. I only wish that some restaurants would get a clue so I could order this for some cleaner, guiltless Thai takeaway!