Basil Tofu

Updated November 3, 2025

Julia Gartland for The New York Times. Food Stylist: Samantha Seneviratne.
Ready In
25 min
Rating
5(265)
Comments
Read comments

Inspired by the savory heat of pad krapow, the popular Thai dish of stir-fried ground chicken or pork with chiles, garlic and basil, this tofu version is just as robustly seasoned and satiating. The traditional dish uses holy basil, but Thai or everyday sweet basil will work here. The cooking of this dish happens quickly, so have all your ingredients prepped before cooking. Tear the tofu into chunky pieces, as it will naturally break down further while being stir-fried. Keep the flavor of the basil bright and the color green by adding it right at the end, so the leaves are barely kissed with heat. Thai chiles are spicy, so add according to your taste: Two is a good choice for those who like spicy food, or three if you like it fiery. 

  • or to save this recipe.

  • Subscriber benefit: Give recipes to anyone

    As a subscriber, you have 10 gift recipes to give each month. Anyone can view them - even nonsubscribers. Learn more.

  • Share this recipe

  • Print this recipe

Advertisement


Ingredients

Yield:4 servings
  • Vegetable or grapeseed oil

  • 1 shallot or small red onion, halved and sliced 

  • 1 red bell pepper, halved, seeds removed and finely diced 

  • 4 ounces green beans, trimmed and thinly sliced into ½-inch pieces 

  • Salt 

  • 4 garlic cloves, finely chopped 

  • 2 to 3 Thai chiles, finely chopped

  • 2 (14- to 16-ounce) packages extra-firm tofu, drained and broken into irregular 1-inch pieces 

  • 2 tablespoons soy sauce 

  • 2 tablespoons dark soy sauce

  • 2 tablespoons lime juice, plus 1 lime, quartered, to serve 

  • 1 cup Thai, holy or sweet basil leaves 

  • Cooked jasmine or short-grain white rice, to serve 

Ingredient Substitution Guide
Nutritional analysis per serving (4 servings)

18 grams carbs; 222 calories; 2 grams monosaturated fat; 4 grams polyunsaturated fat; 2 grams saturated fat; 9 grams fat; 5 grams fiber; 911 milligrams sodium; 23 grams protein; 6 grams sugar

Note: The information shown is Edamam’s estimate based on available ingredients and preparation. It should not be considered a substitute for a professional nutritionist’s advice.

Powered by

Preparation

  1. Step 1

    Heat a wok or a large 12-inch skillet on medium-high. When it’s hot, drizzle in 2 tablespoons of oil, add the shallot and toss until softened, 1 minute. Add the red bell pepper and green beans, season with ½ teaspoon of salt and toss for 1 minute. Add the garlic and Thai chiles and toss until fragrant, about 1 minute. 

  2. Step 2

    Add the tofu, soy sauce and dark soy sauce, and stir fry until the tofu is well coated and thoroughly warmed, 3 to 4 minutes. Finally, add the lime juice and basil leaves, and toss until the basil is wilted, about 30 seconds. 

  3. Step 3

    Serve with rice, with lime wedges on the side.

Private Notes

Leave a Private Comment on this recipe and see it here.

Ratings

5 out of 5
265 user ratings
Your rating

or to rate this recipe.

Have you cooked this?

or to mark this recipe as cooked.

Comments

Three small changes that really brought this to life - added a tablespoon of rice vinegar, a teaspoon of sugar and a teaspoon of cornstarch to the soy sauce mixture. Otherwise made as is and it was delicious!

This recipe has potential. I thickened the sauce with some corn starch as it was too watery. Next time I may add some vegetable broth as well to increase the amount of sauce instead of just adding soy sauce. I would mix the cut up tofu with cornstarch and bake in oven to get crispy before adding to wok. I would also double the amount of green beans and simply cut them in half instead of slicing.

I used to live in Thailand and have done a version of this for years. Instead of the soy sauce, I use oyster sauce (which is what the street vendor I went to used). I tear the tofu into smaller pieces -- close to crumbled is good, actually, because it crisps a bit and it soaks up more sauce. Leave out the bell pepper and amp up the garlic slightly. Thai or holy basil preferred, but any kind works. Serve a fried egg on top. This is a great super-fast dinner recipe.

Going into the recipe, I used half the tofu that was called for (16 oz. of super firm tofu) and an entire 16 oz. package of green beans that I chopped into 1/2 inch pieces. I knew that 4 oz. wouldn’t be enough and I didn’t want to make a separate vegetable side. I ran into the same tofu problem as many others here. Following the recipe led to seasoned but undercooked tofu. I anticipated this, so before adding the lime juice and basil, I transferred the contents of the pan to a wide baking pan and spread it thin. Then I whacked the whole thing under the broiler for just about 10 minutes. I popped the whole thing back into the stovetop pan (which is cast iron, so it was still hot) stirred in the lime juice and basil and it was perfect! This was a good move for saving the recipe, but next time I think I would do a finer crumble on the tofu (similar to a traditional krapow with chicken or pork) and dry-fry it in the pan first to press out as much moisture as possible and brown the tofu a little. Then I would set it aside and proceed with the recipe.

Loved this as is but maybe I could have liked a higher veggies to tofu ratio? But that's me. It was delicious, and will definitely make it again. Thank you Chef!

I made this with only one 16 oz package of tofu. I can't imagine it, as written, with 32 oz. I think it would be very unbalanced. Otherwise this was ok. I added some fish sauce and sesame oil, probably some ginger would have been good also

Private comments are only visible to you.

or to save this recipe.