My Thai green curry with tofu gets its depth from a technique I learned in Thailand. I bloom the curry paste in coconut cream until the oil visibly separates and it takes it from a flat coconut curry to one that tastes like a Thai restaurant! This recipe works with store-bought or homemade paste, is vegetarian, and ready in 40 minutes.

The coconut bloom technique for restaurant-quality green curry

I took a cooking class in Koh Samui where I learned the coconut bloom — do not shake the can, and instead, scoop the thick cream from the top, fry it with the paste until the coconut oil separates and pools at the edges. That separation is the visual cue that the paste is properly cooked.
Skip it or rush it and the curry tastes flat no matter how long you simmer. Almost no home recipe teaches this step, but every Thai restaurant uses it. I use the same technique in my vegetarian khao soi.
This recipe works beautifully with store-bought paste — this one is vegan and what I reach for but if you want to take it further, I have a homemade green curry paste that uses fresh lemongrass, galangal, and Makrut (or kaffir lime) leaves, aka aromatics that don’t survive a jar. That version is a bit more of a weekend project, but the difference is SO real if you try it even once. Either way, the bloom technique is what matters most!
The tofu needs to be pressed and pan-fried before it goes anywhere near the curry. Golden-crusted cubes hold their structure and absorb the sauce as they simmer. Two full blocks for six servings — one block disappears against the volume of vegetables; two makes this a dinner worth eating.

Key ingredients and why they matter

Full ingredient list and detailed instructions in the recipe card.
- Green curry paste — 4 tablespoons (¼ cup). Mekhala or Maesri are both vegan and produce a great curry. Mae Ploy has excellent flavor but contains shrimp paste — not vegetarian. For a deeper, more aromatic version, try my homemade green curry paste which uses fresh lemongrass, galangal, and kaffir lime leaves.
- Galangal slices steep in the curry and come out before serving. Not ginger — woodsier, more medicinal, citrusy. Find it at any Asian grocery. Fresh ginger substitutes if genuinely unavailable but the flavor shifts.
- Lemongrass stalks, bruised — steep in the coconut milk and come out before serving. Use the bottom third, peel outer layers, bruise with the back of a knife to release the oils.
- Makrut leaves — fresh or frozen from Asian grocery stores, bruised and torn. Non-negotiable for authentic flavor. Frozen keeps for months and is worth stocking.
- Full-fat coconut milk, unshaken — the thick cream and thin milk have different jobs. Don’t shake the cans. Light coconut milk won’t bloom properly.
- Extra-firm tofu, pressed — two 14-oz blocks, cut into ¾-inch cubes and pan-fried before adding. The golden crust is what holds the tofu through the simmer.
- Vegetarian fish sauce is the umami anchor. If unavailable, 1 tablespoon low-sodium soy sauce plus 1 tablespoon fresh lime juice.
- Thai basil is not Italian basil — faint anise note, holds up to heat better, until it doesn’t. Add it only after the heat is off.
- Thai eggplant, long beans, and baby corn are the traditional vegetables. Eggplant absorbs the sauce, baby corn holds its bite, long beans stay snappy. Green beans swap fine for long beans.
TIPS & TRICKS
Shruthi’s top tips
- The coconut bloom is the most important step. You’re looking for the coconut oil to visibly separate and pool at the edges — orange-tinged and glossy. If you don’t see it after 3 minutes, keep going. Undercooked paste tastes raw no matter how long the curry simmers.
- Don’t shake the coconut milk cans. Scoop the cream from the top and pour the thin milk into a separate bowl before you start cooking. Shaking collapses this separation and the curry won’t bloom the same way.
- Thai eggplant browns fast once cut. Soak cut pieces in cold salted water with a splash of white vinegar if prepping ahead; drain and pat dry before adding.
- Thai basil goes in off the heat only — 30 seconds of active boiling turns it black and bitter. Residual heat from the wok wilts it perfectly.
- Work in batches when pan-frying the tofu — two blocks won’t fit in a single layer and steaming produces soft cubes instead of golden ones.
- Serve with jasmine rice — the starch absorbs the coconut broth and rounds this into a full dinner. This works alongside [my khao soi] if you’re cooking a Thai spread for a crowd.
How to make Thai green curry with tofu
- Separate the coconut milk. Without shaking the cans, scoop the thick cream into one bowl and pour the thin milk into another.
- Pan-fry the tofu. Heat oil in a wok over medium-high. Working in batches, cook tofu in a single layer until golden on multiple sides. Remove and set aside.
- Fry the paste. Add green curry paste to the wok and fry for 2–3 minutes, stirring constantly, until very fragrant and darkened slightly.
- Bloom the coconut cream. Add the thick coconut cream and stir into the paste. Cook 3–5 minutes until the coconut oil visibly separates and pools at the edges — this is the bloom. Don’t rush it.
- Add aromatics and vegetables. Add galangal slices, bruised lemongrass, and torn kaffir lime leaves. Cook 1 minute. Add eggplant and baby corn, half the thin coconut milk, and all the broth. Simmer 8–10 minutes until eggplant is tender.
- Finish the curry. Add tofu, long beans, coconut sugar, and fish sauce. Pour in remaining thin coconut milk. Simmer 4–5 minutes. Taste and adjust.
- Serve. Remove lemongrass and galangal. Stir in Thai basil off heat. Serve over jasmine rice with lime wedges.







How to serve vegetarian Thai green curry
Serve this Thai green curry with tofu over jasmine rice or noodles. Add something fresh or crunchy on the side, like cucumber salad or Thai slaw, to balance the richness.
Variations
- Homemade paste upgrade: Try my homemade green curry paste for the deepest flavor — fresh lemongrass and kaffir lime leaves make a noticeable difference. It’s a weekend project but freezes well in ice cube trays for up to 3 months.
- Spicier: Add a sliced bird’s eye chili at the vegetable stage.
- Different protein: Pressed and fried tempeh for more texture; chickpeas as a no-fry option added with the thin coconut milk.
- Different vegetables: Snow peas and thinly sliced zucchini can replace the long beans; bamboo shoots are a traditional addition if you can find them canned.

Storage and reheating suggestions
Refrigerate curry and rice separately up to 3 days — the flavors deepen overnight. Reheat gently on the stovetop over medium-low with a splash of broth or water; don’t bring to a boil or the coconut milk can break. Freeze the curry without rice up to 2 months; thaw overnight in the fridge and reheat the same way.
More Thai-inspired recipes to try
If you like this Thai green curry with tofu, try one of these next:
Vegetarian Khao Soi (Northern Thai Curry Noodle Soup)
Authentic Tofu Satay with Peanut Sauce
Thai Curried Butternut Squash Soup

Thai Green Curry
Equipment
- Wok or large deep skillet
Ingredients
- 2 (13.5-oz) cans full-fat coconut milk, unshaken
- 3 tablespoons neutral oil, such as avocado or vegetable, divided
- 2 (14-oz) blocks extra-firm tofu, pressed and cut into ¾-inch cubes
- ¼ cup green curry paste, 4 tablespoons
- 6 fresh galangal, thinly sliced
- 2 stalks lemongrass, bottom third only, bruised with the back of a knife
- 4 makrut lime leaves, bruised and torn, fresh or frozen
- 2 medium Thai eggplants, about 8 oz total, quartered
- 1 (15-oz) can baby corn, drained and halved diagonally
- 1 cup vegetable broth, low-sodium preferred
- 1 cup long beans, cut into 2-inch pieces
- 1 tablespoon coconut sugar
- 2 tablespoons vegetarian fish sauce
- 1 cup fresh Thai basil leaves, plus more for garnish
- 1 medium lime, cut into wedges, for serving
Instructions
- Without shaking the cans, open both. Scoop the thick cream from the top of both cans into one bowl — about 1 cup total. Pour the remaining thin milk into a separate bowl. Set both aside.
- Heat 2 tablespoons oil in the wok over medium-high heat until shimmering. Working in batches, add tofu in a single layer — don't crowd or it'll steam. Cook undisturbed 3–4 minutes until golden on the bottom. Flip and cook another 2–3 minutes until golden on multiple sides. Remove to a plate.
- In the same wok, heat the remaining 1 tablespoon oil over medium heat. Add the green curry paste and fry 2–3 minutes, stirring constantly, until fragrant and slightly darkened.
- Pour in the thick cream only. Cook 3–5 minutes, stirring frequently, until the mixture thickens and the coconut oil begins to separate and pool at the edges — this is the bloom. Don't rush it!
- Stir in the galangal, lemongrass, and makrut lime leaves. Cook 1 minute until fragrant.
- Add the eggplant and baby corn. Pour in half the thin coconut milk and all the vegetable broth. Bring to a gentle simmer and cook 8–10 minutes until the eggplant is just tender when pierced.
- Add the tofu, long beans, coconut sugar, and vegetarian fish sauce. Pour in the remaining thin coconut milk.
- Simmer 4–5 minutes until the long beans are tender but still have bite and the tofu has absorbed the curry.
- Remove from heat. Fish out and discard the lemongrass and galangal. Stir in the Thai basil — it will wilt in the residual heat within 30 seconds.
- Serve immediately over jasmine rice with lime wedges and extra Thai basil on top.
Notes
- Don’t shake the coconut milk cans. The thick cream on top is what blooms the paste in Step 4. Shaking collapses this and produces a noticeably flatter curry.
- Watch for the oil separation in Step 4. If you don’t see oil pooling at the edges after 5 minutes, keep going — undercooked paste tastes raw in the finished dish.
- Thai basil goes in off-heat only. Even 30 seconds of boiling turns it black and bitter.
- Paste recommendations: Mekhala is vegan and gluten-free (my standard). Mae Ploy has better flavor but contains shrimp paste, so it’s not vegetarian.
- Vegetarian fish sauce: Ocean’s Halo or Tiparos. No sub? Use 1 tablespoon low-sodium soy sauce plus 1 tablespoon fresh lime juice.
- Storage: Refrigerate curry and rice separately up to 3 days — flavor deepens overnight. Reheat gently on the stovetop with a splash of broth or water. Don’t boil, or the coconut milk will separate.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.













