I never liked to cook green beans until Chitra Agrawal, owner of Brooklyn Delhi, introduced me to green beans palya, a South Indian preparation where the vegetables are cut into bite-size pieces. The green beans cook fast—we’re talking 3 minutes—and achieve my ideal tender-yet-crisp happy place. Here the beans are seasoned with a spicy Southeast Asian–inspired sauce that counters the slightly sweet coconutty tofu. The fish sauce is optional but highly recommended. —Sarah Jampel

All products featured on Bon Appétit are independently selected by our editors. However, when you buy something through the retail links below, we earn an affiliate commission.


2–4 servings


14-oz. block extra-firm tofu

Kosher salt


Tbsp. plus 1½ tsp. sambal oelek


Tbsp. plus 1½ tsp. soy sauce or tamari


tsp. light or dark brown sugar


tsp. fish sauce (optional)




oz. green beans


garlic cloves


1″ piece ginger


bunch basil


Tbsp. vegetable oil, divided


cup unsweetened shredded coconut

Short-grain or jasmine rice (for serving)


Step 1

Drain one 14-oz. block extra-firm tofu and slice ½” thick. Arrange in a single layer on a kitchen towel set on a rimmed baking sheet or dry cutting board. Season lightly with kosher salt. Wrap towel over tofu like you’re tucking it in and press to expel some moisture. Set aside.

Step 2

Mix 1 Tbsp. plus 1½ tsp. sambal oelek, 1 Tbsp. plus 1½ tsp. soy sauce or tamari, 2 tsp. light or dark brown sugar, 1 tsp. fish sauce (if using), and 1 Tbsp. water in a small bowl to combine. Cut 1 lime in half; squeeze juice from 1 half into sambal mixture and stir again; set aside. Cut remaining lime half into wedges and set aside for serving.

Step 3

Trim 8 oz. green beans and cut into ¼” pieces. Peel 2 garlic cloves and coarsely chop. Then peel one 1″ piece ginger and coarsely chop. Very coarsely chop basil leaves from 1 bunch basil to measure 1 loosely packed cup. Set green beans, garlic, ginger, and basil aside.

Step 4

Heat 2 Tbsp. vegetable oil in a large nonstick skillet over medium-high. Unwrap reserved tofu and arrange in pan in a single layer. Cook, undisturbed, until golden brown underneath, about 4 minutes. Turn over and cook until other sides are golden brown, about 4 minutes. Sprinkle ¼ cup unsweetened shredded coconut over tofu and cook, turning often to prevent burning, until tofu is coated and coconut is toasted, about 2 minutes. Transfer to a rimmed baking sheet; season lightly with salt.

Step 5

Heat remaining 1 Tbsp. vegetable oil over medium-high. Add reserved green beans and toss to coat; season lightly with salt. Cook, stirring, 30 seconds. Reduce heat to  medium, add 1 Tbsp. water, and cover pan. Cook until beans are crisp-tender, about 3 minutes. Uncover pan and add reserved garlic and ginger. Cook, stirring, until fragrant, about 30 seconds. Return tofu to pan and add reserved sambal mixture. Cook, tossing gently, until sauce is nearly evaporated, about 30 seconds. Taste stir-fry and season with more salt if needed. Remove from heat and gently toss in reserved basil.

Step 6

Divide short-grain or jasmine rice among bowls; top with stir-fry. Serve with reserved lime wedges for squeezing over.

How would you rate Coconut Tofu Stir-Fry?

Read More