This Thai basil tofu stir fry is fully plant-based (vegan), packed with high-quality protein, easy to prepare and so flavorful. You can make it in under 20 minutes for a quick weeknight dinner meal. Better than Thai takeout and so much healthier!

This easy Thai basil tofu stir fry is my vegan version of the classic pad krapow.
Pad krapow is an authentic Thai recipe made with a spicy stir fry sauce filled with lots of fresh Thai basil, but also ground meat, Thai chilies, oyster sauce, fish sauce and sometimes topped with a crispy fried egg at serving. I tweaked the ingredients to make my version completely vegetarian and vegan (and less spicy too), which was absolutely amazing!
This recipe makes for an amazing quick weeknight dinner you can make in under 20 minutes. It really bursts with amazing flavor and the chewy tofu makes it filling and satisfying.
Instead of meat, I used firm tofu that acts like a sponge and grabs on the sauce's amazing flavor. You can grind the tofu for a more pad krapow classic look, although I prefer cubed tofu in stir-fries. Similarly to my tofu bok choy stir fry recipe, I coated the cubes with cornstarch before pan roasting them, which makes them nice and crispy before drenching them in the savory-umami stir fry sauce.
The easy stir-fry sauce is so simple and includes common ingredients you probably already have, such as soy sauce, maple syrup, garlic, ginger and sesame oil.
But what really makes this vegan tofu stir fry recipe special is the generous amount of Thai basil that adds so much fragrant fresh flavor to this dish. You can use regular sweet basil from the garden as well: the main idea is to add lots of fresh basil to the sauce until it gently wilts, which flavors the dish with such a great unique taste.
As a side note, I include a little bit of sambal oelek in this Thai basil tofu recipe instead of the traditional fresh chilies (spicy peppers, harder to find), but you can swap for sriracha sauce or simply omit it if you don't want it to be spicy.
Let me know if you give it a try! ❤️

Why you should try this recipe
- Easy and quick dinner recipe
- Great recipe if you are new to tofu (or if you think you don't like tofu!)
- Amazing bold and fresh flavors
- Healthier than takeout food!
- High-protein meal that's very filling
- Versatile meal that can easily include more veggies
- Fully vegan, meatless, egg-free and dairy-free
Ingredients you will need
- Tofu: use firm or extra-firm tofu for best result.
- Cornstarch: dusting the tofu with starch help crisp it in the pan without having to deep fry the tofu. You can swap for another starch, such as arrowroot powder or tapioca starch.
- Garlic: there is a lot of garlic in this recipe! I included 4 large cloves, but use 2 or 3 cloves if you are sensitive to garlic flavor. Do not swap for garlic powder for best flavor!
- Red bell pepper: add nutrients, color and flavor too. You can swap for green pepper if you prefer.
- Thai basil: look in your local Asian grocery store (or use regular basil!). More info below.
Stir fry sauce ingredients
- Soy sauce: makes for the base of the sauce. I like using low-sodium soy sauce for stir fries to make them healthier, but you can use regular soy sauce as well.
- Rice vinegar: you can also use lime juice. It adds a mild tangy taste to balance the overall flavor.
- Maple syrup: my favorite sweetener for Asian sauces for its mild caramel-like taste. You can swap for brown sugar if that's all you have (adjust quantity as needed).
- Fresh ginger: pad krapow does not always have ginger in its recipe, but I love how ginger adds a fresh boost of flavor. Omit if you prefer.
- Sambal oelek: or chili paste. You can also swap for a finely chopped fresh chile pepper if you can find it. Feel free to completely omit if serving for kids or looking for a recipe that's not spicy!
- Sesame oil: I like to use it to cook the tofu, but also to add a tiny amount in the sauce to add a mild nutty flavor. A little goes a long way!
- Cornstarch: aside from helping the tofu to get crispier when pan-roasting it, cornstarch also is used to make the sauce thicker and super silky.
What kind of basil should I use
Most of the recipes on this website that call for fresh basil will recommend the sweet Italian basil kind, which is easy to find and pretty much everywhere.
In this case, this stir fry recipe uses and highlights Thai basil. This kind of basil has leaves that are a little more sturdy and with a shinier green compared to sweet basil. It is also stronger in taste, almost licorice-like with hints of spiciness, which adds great taste to a saucy Thai dish that's bold in flavor.
Thai basil is not always available in regular grocery stores, but if you can find it in an Asian market nearby, then it would be worth getting out of your way to grab a bunch of this amazing basil.
Thai holy basil is another kind of Thai basil that would be a great second choice for this recipe. Holy basil is even stronger in taste compared to Thai basil with more spicy notes.
That being said, you can also totally make this recipe using regular sweet Italian-style basil you can find in your grocery store. It will be delicious too!

How to make Thai basil tofu stir fry
Make this recipe in under 20-30 minutes! Perfect weeknight dinner for your whole family!
As a side note, if you serve this dish with rice, then I would recommend starting by cooking the rice as it often takes 30 min or more. Same thing with side veggies, you might need to get started with them first. This recipe goes fast!
Whisk the stir fry sauce
In a medium bowl, whisk together the water, rice vinegar, maple syrup, soy sauce, ginger, sambal oelek (if using) and cornstarch. Set aside.
Pan-fry the crispy tofu
Drain the tofu packaging and wrap the block in a few layers of paper towels or a clean towel. You can press the tofu by placing something heavy over it for 20-30 minutes, although this is optional.
Then, slice the tofu into cubes and place it in a bowl. Sprinkle the cornstarch over and use your fingers to toss the cubes so they all are evenly covered.
Warm up a large non-stick pan with a little sesame oil and then, add the tofu cubes. Cook on medium-high heat while stirring once in a while until golden brown on each side (try to flip the cubes one by one so they all cook uniformly). This can take 10-15 minutes.
Once the tofu is done to your liking, then transfer to a plate.
Cook the vegetable
Add a little more sesame oil to the same pan and warm up for 1 minute. Then, add the red pepper and cook for about 5 minutes stirring often.
Then, add the garlic and cook for 1-2 more minutes stirring often (watch so the garlic doesn't burn).
Combine and serve
Give another whisk to the bowl with the sauce (the cornstarch tends to sink at the bottom) and also, turn down the heat to low.
Pour the sauce into the pan (careful for splashes) and stir right away. Bring to a gentle simmer and then, transfer the tofu back to the pan. Roughly break the fresh basil leaves and also add over the tofu.
Stir to combine and keep cooking until everything is warmed up together, the sauce thicker and the basil gently wilted.
Taste and adjust flavor, then serve.
Helpful tips
- I recommend doing all the prep ahead, such as whisking the sauce, crushing the garlic, prepping the red pepper, cleaning the basil, etc. Once you get started with the stir-fry, it goes fast!
- Be aware of the splashes when you pour the sauce in the pan, you don't want to do that in a super hot pan or you can burn yourself. It is best to turn down the heat to low, wait a minute and carefully pour the sauce. Then, you can turn the heat back up.
- I think the sweetness level is the main element you might want to adjust. This pad krapow-inspired sauce is less sweet than other stir fry sauces, so add more maple syrup to the pan if needed.

Tofu pad krapow serving suggestions
You can serve this recipe warm sprinkled with sesame seeds and green onion, if desired. For more heat, add more hot sauce, such as sriracha, sambal oelek or finely chopped fresh red chilies.
This recipe goes great over cooked grain for a hearty meal, such as brown rice, jasmine rice or even quinoa (to give it a nice boost in protein too). You can also serve over noodles, as seen in the pictures. I used buckwheat soba noodles, which made this meal even more filling and super fun to eat.
Variations to the recipe
This is a saucy stir fry, which can take a few more veggies if you want. Great choices are:
- Green beans
- Cauliflower or broccoli
- Broccolini
- Sweet onion
- Canned baby corn
- Mushrooms
You can also use frozen veggies if that's more convenient!
Also, you can adjust the flavor of the sauce as you wish, such as making it sweeter by adding more maple syrup or adding more heat by including more of the sambal oelek. You can also include some vegan fish sauce or vegan oyster sauce if you can find them!
One more note: for a more meat-like texture, you can crumble the tofu instead of slicing it into cubes. In that case, also toss the ground tofu with the cornstarch and cook in the pan the same way before including the sauce, so it crisps nicely.

Storage tips
This recipe stores well in an airtight container in the fridge for up to 3 days. The tofu isn't as crispy after resting and heating up, but the dish is still as delicious.
To reheat, you can use the microwave or the stove.
FAQ
You can swap the tofu for canned chickpeas. In that case, I would not toss the chickpeas in cornstarch and would skip on roasting them in the pan. Simply whisk the sauce in a bowl and go straight to cooking the pepper with the garlic. Then, add the sauce followed by the chickpeas and Thai basil.
You can make it GF by using a GF tamari sauce instead of regular soy sauce and serve it over GF rice or noodles. Sambal oelek is usually GF, but double-check the label just to be sure!
You can press the tofu with a tofu press if you would like, which will help make it more crispy. That being said, I rarely do a "real" tofu press as I am usually in a rush for dinner time. What I like to do is wrap the tofu with some paper towels, then add a heavy object over it (like a book) and let it press for a few minutes to remove the excess water while I prep the other ingredients.
Yes! I recommend using a low-sodium soy sauce to help keep the sauce reduced in salt. This recipe includes high-protein tofu (that's also filled with vitamins and minerals), also red pepper and lots of good-for-you ginger and garlic. It is also made without adding a lot of oil. You can add more veggies for a boost in nutrients as well!

More recipes like this
- Sweet and sour tofu
- Healthy vegetable stir fry
- Sticky tofu
- Vegan vermicelli bowl
- Edamame poke bowl
- Easy hoisin tofu
- Sticky tempeh
- Teriyaki udon noodles
- 20-min miso udon noodles
- Gochujang tofu
- Vegan peanut noodles
- Tofu buddha bowl
I hope you like this Thai basil tofu stir fry recipe as much as we do! If you try it, please leave a comment below and rate the recipe to let me know how it was. Your feedback is so helpful!
Let's stay in touch with Instagram, Pinterest and Facebook. Also, don't forget to subscribe to my newsletter to be sure not to miss anything.

Thai Basil Tofu Stir Fry (Vegan Pad Kaprow)
Ingredients
- 454 g extra-firm tofu
- 1 tbsp cornstarch
- 1 cup Thai basil - you can also use regular sweet basil
- 1 red bell pepper - sliced
- 3 cloves of garlic - crushed
- sesame oil - optional, for cooking
For the sauce
- ¾ cup water
- ½ cup soy sauce
- 3 tbsp maple syrup
- 2 tbsp cornstarch
- 1 tbsp rice vinegar
- 1 tsp ginger
- 1 tsp sesame oil - optional, can be made oil-free
- ½-1 tbsp sriracha or sambal oelek - optional, for a spicy recipe
Instructions
- Drain the tofu and then wrap it with a clean towel or a few layers of paper towel. Gently press on it to remove as much moisture as you can. You can also do a tofu press for 30 minutes or simply place a few heavy items over the tofu while you prepare the other ingredients. Then, cube the tofu.
- In a medium bowl, whisk together the sauce ingredients (water, soy sauce, maple syrup, cornstarch (2 tbsp), rice vinegar, sambal oelek, ginger and sesame oil). Set aside.
- Add the cubed tofu in a large bowl and sprinkle the cornstarch over (1 tbsp), then toss the cubes to cover them with the cornstarch evenly.
- Warm up a large non-stick pan with a little oil (use sesame oil for more flavor or any oil such as oil spray). Then, add the tofu and cook on medium-high heat flipping the pieces once in a while until browned and crispy on most sides, about 10-12 minutes. Once done, transfer the tofu to a plate and set aside.
- Transfer the pan back on the stove and add the red pepper (add more oil if needed). Then cook while stirring often on medium heat until tender but not too soft, about 3 minutes.
- Then, add the garlic, stir and cook for 30-60 seconds. Then turn down the heat to medium-low and then, pour the sauce in the pan (whisk in the bowl right before pouring it since the cornstarch tends to sink at the bottom). Be careful with splashes! Stir right away in the pan and bring to a simmer (turn up the heat if needed). Cook until thick, about 2 minutes.
- Add the tofu back to the pan with the Thai basil. Stir and cook for another 1-2 minutes to warm up the tofu and allow the basil to wilt. Serve over rice or noodles, enjoy!
Video
Notes
- Storage: keep the leftovers in an airtight container in the fridge for up to 3 days and reheat using the microwave of the stove.
- You can add more vegetables to the sauce, such as broccoli, onion, mushrooms, etc.
- For a spicy sauce, add more sambal oelek or include finely chopped red chile peppers.
Pin it for later!

So happy I picked this recipe to use up a pack tofu I had sitting in the fridge. This was easy and so delicious and full of flavour. I added a tablespoon of maple syrup as as you suggested to add a bit more sweetness - it was perfect. I served it over basmati rice. Thanks so much Jessica for this great recipe!!
That's great Linda, I'm glad you liked it! Thanks for sharing 🙂
A simple yet delicious recipe that is perfect for a busy day. Your choice of ingredients are healthy and give a perfect balance of flavors. Soon to be one of my standard go-to's when I want something flavorful, healthy and just downright comforting.. thanks for posting this!!
Hi Lori! Thanks for your comment! 🙂