Thai Basil Tofu (also called Pad Krapow Tofu or tofu pad kra pao) delivers bold Thai street-food flavor in under 30 minutes. Crumbled extra-firm tofu soaks up a savory sauce, while garlic, chilies, bell pepper, green beans, and lots of fresh basil add brightness, texture, and heat. Serve it over jasmine rice for a fast, satisfying weeknight meal.

This recipe is one-pan, customizable, and ideal for busy evenings. The tofu crisps up nicely when pressed and cooked with minimal stirring, and the sauce balances salty, sweet, and spicy notes. It’s a great way to get more vegetables on your plate while keeping things simple and flavorful.
What is Pad Krapow?
Pad Krapow is a classic Thai stir-fry made with garlic, chilies, and holy basil, traditionally using minced meat. The dish is cooked quickly over very high heat so the sauce coats each ingredient and the basil remains bright and aromatic. This vegetarian version swaps crumbled tofu for meat but keeps the same punchy flavors.

Why You’ll Love This One-Pan Dinner
- Fast and flavorful – Ready in about 30 minutes.
- Meatless but hearty – Crumbled extra-firm tofu provides a satisfying texture.
- Customizable – Swap or add vegetables and adjust the spice to taste.
- Easy cleanup – Everything cooks in a single skillet.
- Meal prep friendly – Reheats well for lunches or quick dinners.
Ingredients and Substitutions
Please scroll ⬇️ to the recipe for full amounts and instructions.
To make pad krapow tofu you’ll need:
- Extra-firm tofu – Press and crumble for a ground-meat texture. Firm or super-firm tofu can also work.
- Neutral high-heat oil – Avocado, canola, or vegetable oil.
- Garlic – Minced; it builds the savory base.
- Bell pepper and green beans – For color and crunch; zucchini, snap peas, or broccoli are fine substitutes.
- Fish sauce – Adds depth; use vegan fish sauce or extra soy sauce to keep it vegetarian/vegan.
- Soy sauce – For extra umami.
- Sugar – A small amount balances the flavors.
- Salt and pepper – To taste.
- Bird’s eye chilies or red pepper flakes – For traditional heat; adjust or omit as needed.
- Thai basil or Italian basil – Fresh basil is essential for authentic aroma and flavor.

How to Make Thai Basil Tofu
Please scroll ⬇️ to the recipe for full amounts and instructions.
- Press the tofu – Remove excess moisture for at least 5 minutes, then crumble into bite-sized pieces.
- Mix the sauce – Combine fish sauce (or vegan alternative), soy sauce, sugar, salt, pepper, and minced chilies if using.
- Sauté the tofu – Heat oil in a skillet over medium-high heat. Add crumbled tofu and let it cook undisturbed for 3–5 minutes to develop golden edges, then stir and cook 1–2 more minutes.
- Add vegetables – Push the tofu to one side and sauté garlic, chopped red bell pepper, and green beans until just tender, about 2–3 minutes.
- Stir in the sauce – Combine tofu and vegetables with the sauce, cover, and cook 4–5 minutes so the flavors meld while vegetables stay slightly crisp.
- Finish with basil – Stir in fresh basil just before serving and serve hot over steamed rice.


Tips for the Best Pad Krapow Tofu
✔️ Press the tofu to remove moisture so it crisps. ✔️ Let it sit in the pan to brown—avoid stirring constantly. ✔️ Use fresh basil (Thai or Italian) for the authentic herbal note. ✔️ Adjust spice to your preference—start mild and add more chilies if you like heat.

Serve It with Thai-Style Dishes
Serve the tofu over hot jasmine or brown rice. For a traditional touch, top with a crispy fried egg if you aren’t keeping the meal vegan. Complement it with light sides like a cucumber salad or a simple soup, and finish with fresh fruit or mango sticky rice for dessert if you like.

How to Store Leftovers
Cool completely before transferring to an airtight container.
- Refrigerator: Keeps for 3–4 days.
- Reheating: Warm in a skillet with a splash of water or microwave until heated through.
- Freezing: Not recommended if you prefer the original texture—frozen tofu can become spongy after thawing.
A Bold Thai Stir-Fry You’ll Make Again
Thai basil tofu is saucy, garlicky, and packed with fresh herb flavor. It’s an easy, satisfying weeknight option that still feels special. Whether you’re cooking for one or feeding a family, this simple stir-fry delivers big taste in a short time.
If you try it, leave a comment or rating on the recipe—feedback helps refine timing and spice levels for different preferences.
RECIPE

Thai Basil Tofu Stir Fry (Pad Krapow)
Quynh Nguyen
Ingredients
- 1 (14 oz) block extra-firm tofu, drained and pressed
- 2 tablespoons avocado oil (or any high-heat oil)
- ½ cup Thai or Italian basil leaves
- 3 garlic cloves, minced
- ½ red bell pepper, chopped
- 1 cup green beans, cut into ½-inch pieces
- ¼ cup fish sauce (or vegan fish sauce)
- 1 tablespoon soy sauce
- 1 tablespoon sugar
- ¼ teaspoon salt
- ½ teaspoon pepper
- 2 Thai bird’s eye chilies, minced (or red pepper flakes, optional)
Instructions
-
Prep the tofu: Press tofu for at least 5 minutes to remove excess moisture. Crumble with your hands or a fork into bite-sized pieces.
-
Make the sauce: In a small bowl, mix fish sauce (or vegan alternative), soy sauce, sugar, salt, pepper, and chilies if using.
-
Sauté the tofu: Heat oil in a skillet over medium-high heat. Add crumbled tofu and let it cook undisturbed for 3–5 minutes to crisp up. Stir and cook another 1–2 minutes.
-
Add vegetables: Push tofu to one side. Add garlic, red bell pepper, and green beans. Sauté 2–3 minutes until just tender.
-
Add the sauce: Stir in the sauce and mix well. Cover and let everything cook 4–5 minutes until vegetables are cooked but still slightly crisp.
-
Add basil: Stir in basil just before serving until wilted. Serve hot over jasmine or brown rice.
Notes
- Press the tofu well – This helps it crisp and absorb the sauce.
- Don’t over-stir – Let the tofu develop golden edges for better texture.
- Use fresh basil – Thai or Italian basil gives the signature herbal note.
- Add a fried egg – Optional, for a classic Thai finish if not keeping it vegan.
- Meal prep-friendly – Double the batch and store extras for quick lunches.
Nutrition
Carbohydrates: 8g
Protein: 2g
Fat: 7g
Sodium: 1538mg