Gimme Some Oven

Vegetarian Moo Shu

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

This Vegetarian Moo Shu recipe is made with a colorful mix of veggies, eggs, and the most delicious hoisin-sesame sauce. Feel free to add in crispy tofu if you’d like!

Vegetarian Moo Shu Recipe

Love tacos and stir-fry?

Then you’re going to love moo shu! ♡

This retro-Chinese-restaurant classic is the best of both worlds — all of the fresh flavors of a veggie stir fry, loaded into a soft tortilla “taco”, then drizzled with the most delicious hoisin-sesame sauce. And we are obsessed. Well — I should say that I was originally obsessed with moo shu pork for many years. But once my vegetarian husband came into the picture, we switched over to a crispy tofu version. And I haven’t missed the meat in this dish ever since!

That said, if tofu isn’t your thing, don’t worry — this hearty veggie stir-fry will stand on its own without the tofu just fine. It also makes for fantastic leftovers, if you’re planning for the week ahead. And if you want to mix things up even more with said leftovers, I can vouch that this vegetarian moo shu also tastes delicious served in lettuce cups, or over rice or quinoa or even salad greens.

Basically, you’ve got options! And lots of reasons to try this one, stat.

Hoisin Sesame Sauce for Vegetarian Moo Shu Recipe

Vegetarian Moo Shu Ingredients:

Alright, let’s talk ingredients. I feel like I should first point out that this recipe is based off of the American-Chinese restaurant version that I grew up with. Authentic Chinese moo shu is made instead with cucumber and a slightly different sauce. But this version is made instead with one of my favorite shortcut ingredients — a bag of coleslaw. I recommend looking for one of the varieties that also has shredded carrots mixed in (plus maybe a bit of red cabbage too, for color). Or if you happen to be living in a country outside of the States where coleslaw isn’t sold, you can just shred your own cabbage and carrots from scratch!

So to make this vegetarian moo shu recipe, you will need:

  • Tofu: Again, this is optional. But if you would like to add tofu, we will toss it with cornstarch, salt and pepper, to make it nice and crispy, and then cook it in a tablespoon of oil on the stovetop.
  • Sauce: We will whisk together hoisin sauce, oyster sauce, rice vinegar, low-sodium soy sauce, toasted sesame oil and black pepper to make this sauce — part of which we will mix into the stir-fry, and the rest will be drizzled on top. You can find the first five ingredients in the Asian section of your grocery store or online. (And yes, I really recommend that you use all of them!)
  • Eggs: These will be cooked into a quick little omelet, which we’ll then chop up and add to the stir-fry.
  • Mushrooms: I highly recommend using shiitakes for this recipe. But baby bellas could also work as a substitute.
  • Garlic: To help season the stir-fry.
  • Coleslaw: The recipe calls for a large bag, which will reduce down significantly as the cabbage cooks.
  • Flour tortillas: Or you’re welcome to use authentic Chinese pancakes, either store-bought or homemade. I almost always just use flour tortillas because I keep them on hand.
  • Toppings: I love sprinkling on lots of thinly-sliced green onions and sesame seeds. And then I also recommend keeping a bowl of hoisin on the table if people would like to add more sauce to their moo shu. (<– I recommend spreading the hoisin on the tortilla with a spoon first, and then adding in the filling.)

Crispy Tofu for Vegetarian Moo Shu Recipe

How To Make Tofu On The Stovetop:

So here’s the thing about making tofu on the stovetop — it’s 100x easier if you have a non-stick sauté pan. (Don’t forget, a seasoned cast iron pan is naturally non-stick too!)  If you don’t have a non-stick pan, you’re welcome to bake your crispy tofu in the oven instead. Up to you!

To make the crispy tofu, simply:

  1. Cut the block of tofu into thin slabs. I like my tofu nice and thin for this recipe, so that it fits easily into the tacos. So I recommend cutting your tofu into large, thin slabs (about 1/4 to 3/8-inch thick).
  2. Drain the tofu. Then lay out a double layer of paper towels on a flat surface (like a cutting board). Place the tofu slabs in a single layer on top of the paper towels. Cover them with another layer of paper towels. Then place another cutting board (or a cookie sheet, or something flat) on top of the tofu, and weight it down with some heavy pots and pans or cans on top of it. Let the tofu sit and drain for about 15-30 minutes.
  3. Cut the tofu as desired. Then cut the tofu into your desired size/shapes. You could do skinny strips like me, or squares, triangles — you name it.
  4. Coat the tofu. Transfer the tofu to a mixing bowl, and toss with cornstarch, salt and pepper to season it and help make it extra-crispy.
  5. Stir-fry the tofu. Then heat some oil in your non-stick sauté pan. Add the tofu in a single layer. (You may need to do this in two batches, if your pan isn’t very big.)  Then don’t touch it for a few minutes! You want the bottom sides of the tofu to get nice and golden and crispy. Take a lil’ peek, and once they look ready to go, flip the tofu and cook on the opposite side. Then cook it for a minute more, stirring and tossing occasionally, and it’ll be ready to go.

I promise, this sounds more complicated than it actually is. ;)  Just be sure to start on the tofu first so that it has time to drain. And of course, if you’re anti-tofu, you can skip this entirely.

Also, to save time, I typically multitask and cook the tofu at the end of the recipe in a separate pan alongside the stir-fry, just to save a few minutes.

Vegetarian Moo Shu with Crispy Tofu

How To Make Moo Shu:

Moving on! To make the rest of the moo shu, simply:

  1. Cook your tofu. As mentioned above.
  2. Make your sauce. Just whisk everything together in a bowl until combined!
  3. Make your omelet. Just whisk two eggs together, add them to your pan, and cook until they firm up and make a plain lil’ egg omelet. Flip it once, to be sure that it’s cooked on both sides. Then transfer it to a cutting board and roughly chop it into pieces. (Alternately, you can just scramble the eggs.)
  4. Stir-fry the veggies. Sauté the mushrooms for a few minutes until they are softened. Then add the coleslaw and garlic, and sauté for a few more minutes until the cabbage has also cooked and softened. (I still like mine to have a bit of crisp in it, but you can cook it as long as you’d like.)
  5. Combine everything. Add the tofu, egg, and 2/3 of the sauce into the pan along with the veggies, and toss until combined.
  6. Serve warm. Either in flour tortillas, lettuce cups, or over rice or quinoa — you pick. Drizzle with the remaining sauce, and top with lots of green onions and toasted sesame seeds, if desired. And — enjoy!!

Vegetarian Moo Shu Recipe with Crispy Tofu

Possible Variations:

Want to mix things up? Feel free to:

  • Use smoked tofu: If you don’t want to mess with cooking the tofu, you’re welcome to use firm smoked tofu instead.
  • Add in extra veggies: If you want to skip the tofu altogether, you’re welcome to add in any other stir-fry veggies that you love, such as broccoli, red peppers, snap peas, etc.
  • Use different mushrooms: As mentioned above, you’re welcome to sub in baby bella mushrooms if you can’t find shiitakes. Or you could also use wood-ear (“black”) mushrooms, which are traditionally used in moo shu.
  • Make it spicy: Feel free to mix in some chili garlic sauce, if you would like an extra kick.

Vegetarian Moo Shu "Tacos"

Hope that you all enjoy this one! And cheers to mixing things up on “taco” night!

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Vegetarian Moo Shu

Vegetarian Moo Shu

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 4.6 from 8 reviews
  • Prep Time: 20 minutes
  • Cook Time: 30 minutes
  • Total Time: 50 minutes
  • Yield: 6 -8 servings 1x


This Vegetarian Moo Shu recipe is made with a colorful mix of veggies, eggs, and the most delicious hoisin-sesame sauce.  See notes above for possible ingredient substitutions.



Moo Shu Ingredients:

  • 1 batch crispy tofu (see below)
  • 1 batch sauce (see below)
  • 2 tablespoons peanut oil (or olive oil)
  • 2 large eggs, whisked
  • 8 ounces shiitake mushrooms, stemmed and thinly sliced
  • 4 cloves garlic, minced or pressed
  • 1 (14-ounce) bag coleslaw*
  • 1/2 cup thinly-sliced green onions
  • for serving: flour tortillas, lettuce cups, rice or quinoa
  • toppings: hoisin sauce, extra green onions, toasted sesame seeds

Crispy Tofu Ingredients:

  • 14 ounces extra-firm tofu
  • 2 teaspoons cornstarch
  • 1 teaspoon fine sea salt
  • 1/2 teaspoon black pepper
  • 1 tablespoon peanut oil (or olive oil)

Sauce Ingredients:


To Make The Moo Shu:

  1. Prepare the crispy tofu (if using) and sauce.  See instructions below.
  2. Meanwhile, heat 1 tablespoon oil in a large non-stick sauté pan over medium heat.  Add the whisked eggs and let then cooked undisturbed for 2-3 minutes until they are mostly set and form an omelet.  Flip the omelet and cook for 1 more minute on the second side.  Then transfer the omelet to a separate cutting board, and roughly chop it into small, thin pieces.  Set aside.
  3. Return the pan to the stove, and increase heat to high heat.  Add 1 more tablespoon of oil and heat until shimmering.  Then add the mushrooms and sauté for 3-4 minutes, stirring occasionally, until cooked and lightly browned.  Add the coleslaw and half of the scallions.  Saute for 2-3 minutes more, or until the cabbage has softened to your liking.
  4. Add in the cooked tofu, 2/3 of the sauce, half of the green onions.  Toss until combined.
  5. Taste and season with additional salt and pepper if needed.
  6. Serve over flour tortillas, lettuce cups, rice, or quinoa.  Drizzle with the remaining sauce, and sprinkle with your desired garnishes.  Then serve warm and enjoy!

To Make The Crispy Tofu:

  1. Slice your block of tofu into 1/4-inch-thick slabs.  Lay some paper towels or a clean tea towel on a large flat surface, like a cutting board, and lay the slabs in a single layer on top of the paper towels.  Cover with another layer of paper towels.  Then place a second cutting board on top of the tofu, and stack a bunch of heavy cans or pots or whatever you can safely balance on top of the cutting board.  The idea is to put a lot of pressure/weight on the tofu, which will help the excess water to press out into the paper towels.  Let the tofu drain for at least 15-30 minutes.
  2. Once the tofu is ready to go, slice it into your desired shapes.  (I made thin strips, which you can see in the photos above.)  Add the tofu to a large mixing bowl, sprinkle it evenly with the cornstarch, salt and pepper.  Then toss until the tofu is evenly coated in the cornstarch mixture.
  3. Heat oil in a large non-stick sauté pan over medium-high heat.  Add the tofu and arrange it in a single layer.  (You may need to do this in two batches if your pan isn’t large enough for the tofu to all fit in a single layer.)  Cook the tofu undisturbed until it is browned on the bottom side, about 2 minutes.  Flip the tofu and cook until the second side is browned, about 1-2 minutes.  Give the whole mixture a gentle toss and cook for 1 more minute, stirring occasionally, until the tofu is browned to your liking.
  4. Transfer the tofu to a clean plate and set aside until ready to use.

To Make The Sauce:

  1. Whisk all ingredients together in a small bowl until combined.


*If you live in a city where bagged coleslaw is not available, feel free to make it yourself.  Just thinly-slice about 12 ounces of cabbage (green, red, or a mix) and 1 small carrot, and you’ll be good to go.  (If you’d like to speed up the process, just use the slicing attachment on a food processor!)

**If you would like to speed this recipe up, I recommend multitasking with two sauté pans.  Use one to cook the egg omelet, followed by the tofu.  (<– If you only have one non-stick pan, use it here!)  And use the other pan to cook the stir-fry.

Healthy Vegetarian Moo Shu

Share this Post

Leave a Reply

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

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

13 comments on “Vegetarian Moo Shu”

  1. Moo shu pork is one of my favorites to order out when I want to splurge. This is a great variation that’s seally tasty, healthy and easy. I might do this over rice (or cauliflower rice) next time just because I find it a little easier to eat. But it was delicious wrapped in a tortilla as well.

    The crispy tofu could be popped into just about any stir fry — will definitely use that part of the recipe next time I want to add tofu to a basic stir fry.

  2. Made this last night and loved it! Currently eating leftovers for lunch, and it’s just as good. Maybe I mis-read but I think in the printable recipe you forget to tell us when to add in the garlic and the cut up omelet.

  3. I made this the other night using the sauce as described here. But instead of tofu (I can’t tolerate it due to digestive issues) I used eggplant and just regular mushrooms as the base. I added bok choy on the side. It was incredible! Your touch of putting it in soft tortillas is the best- would NOT have thought to do that. So delicious, thank you!

  4. I made this tonight (sans tofu) for my family and it was ridiculously easy and DELICIOUS!

  5. I am surprised to see oyster sauce used in a vegetarian recipe – all the ones I’ve seen contain some sort of fish?

  6. This is a great recipe! I have made it many times now. Thanks for posting it!

  7. This is fantastic! This has become one of my go-to recipes and it works great to use up any leftover veggies topped with the sauce, thanks!

  8. made it exactly as written, i wouldn’t change anything. Great Recipe

  9. To C.B who answered Karen: Oyster sauce is not vegan. It’s made from oyster essences derived from cooking down oysters. Some people are very loose in their descriptions of what is vegetarian, including eggs and dairy but I’ve never seen anyone claim that oysters aren’t the flesh of an animal. Shellfish are living creatures so even if you are ok with animal by-products like dairy, eggs and honey, nothing made from oysters is vegetarian in any sense.

  10. I know it’s probably obvious to most people, but you don’t include where or when to add the garlic in your directions. So far, the sauce is amazing. Almost finished cooking. I’m sure it’s going to be awesome, wherever I put the garlic. :)

  11. A WONDERFUL Recipe, thank you so much! I always forget about one of my favorite CHINESE dishes!
    I never use cornstarch on anything and baking tofu is by favorite way to get it crispy but other meat substitutes are just as good, even just a meal-portion of eggs, burger-patties sliced up, even sliced or balls of mozzarella cheese, it literally doesn’t matter. But don’t ever leave a protein source out of a vegatarian dish, protein is the main goal of a meal, how else will one get the 70 grams a day one needs for body processing and repair, per day.
    AS VEGGIE I leave out fish sauces and use Bragg’s for every recipe with no distinction!
    I always used corn tortilla as well, I’m a thin women and can’t have that and eat flour and past 65 I even had to give up those & brown rice, and I’ll tell you MuSu is just as good on rice cakes, (which I do indulge in 2 a day), not to mention lettuce, veggie rice substitute, squash, potato’s, ANYTHING.