This Thai-inspired vegetarian coconut soup combines creamy coconut milk, tofu, mushrooms, and fragrant lemongrass with a bright finish of lime. It borrows flavor cues from Thai tom kha soups, while using vegetable broth and vegetarian curry paste for a satisfying meat-free bowl.
Ingredients
- 1 tablespoon neutral oil (15 ml), such as canola or vegetable oil
- 2 tablespoons vegetarian Thai red curry paste (30 g); check the label for shrimp paste or fish ingredients
- 1 stalk lemongrass (about 30 g), trimmed, lightly bruised, and cut into 3-inch pieces
- 1 tablespoon thinly sliced fresh galangal (about 10 g); if unavailable, use the ginger listed as a substitute in the Tips
- 4 makrut lime leaves (about 2 g), torn once to release their aroma
- 4 cups vegetable broth (950 ml), preferably low-sodium
- 1 can full-fat coconut milk, 13.5 ounces (400 ml), well shaken
- 8 ounces sliced cremini or oyster mushrooms (225 g)
- 14 ounces extra-firm tofu (400 g), drained, patted dry, and cut into ¾-inch cubes (2 cm)
- 1 tablespoon soy sauce (15 ml), or tamari for a gluten-free option
- 1 teaspoon granulated sugar (4 g)
- ½ teaspoon kosher salt (about 2.5 g), plus more to taste
- ¼ teaspoon red pepper flakes (about 0.5 g), optional
- 2 tablespoons fresh lime juice (30 ml), plus lime wedges for serving
- ½ cup loosely packed Thai basil or cilantro leaves (about 15 g), roughly torn
- 1 scallion (about 15 g), thinly sliced, for garnish
Instructions
- Prepare the aromatics and tofu. Trim the dry end and tough outer layer from the lemongrass, then bruise the stalk with the flat side of a knife so it releases its fragrance. Cut it into pieces large enough to fish out later. Slice the galangal, tear the lime leaves, slice the mushrooms, cube the tofu, and prepare the herbs and scallion. Patting the tofu dry helps it keep its shape in the soup. Allow about 25 minutes for this preparation, including washing and measuring the ingredients.
- Bloom the curry paste. Set a medium Dutch oven or heavy saucepan over medium heat and add the oil. Stir in the curry paste, galangal, lemongrass, and lime leaves. Cook for 3 minutes, stirring often, until the paste smells fragrant. Keep the heat moderate: curry paste can scorch quickly, and browned or burnt paste can make the broth taste bitter. If the pan looks dry before the three minutes are up, add a spoonful of the measured broth.
- Infuse the broth. Pour in the vegetable broth and stir to loosen any curry paste from the base of the pan. Bring it to a gentle simmer, then cook uncovered for 8 minutes. Avoid a vigorous boil, which can flatten the fresh aromatics and make the soup seem harsh. The lemongrass and lime leaves are meant to perfume the broth; they are not pleasant to chew, so leave them in for now and remove them before serving.
- Add coconut milk and mushrooms. Stir in the coconut milk and sliced mushrooms. Bring the soup back to a gentle simmer and cook for 6 minutes, stirring once or twice. Do not let it boil hard: steady, small bubbles are enough to cook the mushrooms while keeping the coconut milk smooth. The broth will turn creamy and take on a pale orange color from the curry paste.
- Warm the tofu. Add the tofu, soy sauce, sugar, salt, and optional pepper flakes. Simmer gently for 5 minutes so the tofu heats through and takes on some of the broth’s flavor. Stir carefully rather than vigorously, especially if the tofu is soft or the cubes are small. Taste a spoonful of broth before adding more salt; curry paste and soy sauce vary considerably in saltiness.
- Finish and serve. Stir in the lime juice and simmer gently for 3 minutes, then turn off the heat. Remove the lemongrass pieces, galangal slices, and lime leaves with tongs or a slotted spoon. Fold in the basil or cilantro and most of the scallion. Taste again: add a little more lime for brightness, soy sauce for savory depth, or sugar if the curry paste tastes especially sharp. Ladle into bowls and finish with the remaining scallion.
Tips
- Check the curry paste before cooking. Some Thai curry pastes contain shrimp paste or fish sauce even when the rest of the ingredients look plant-based. Choose a paste explicitly labeled vegetarian or vegan. Paste strength also varies, so start with 2 tablespoons; you can stir in a little more after the broth simmers if you want greater heat.
- Use ginger if galangal is hard to find. Galangal has a sharper, more piney, citrus-like aroma than ginger. Replace the 1 tablespoon of sliced galangal with 1 tablespoon of thinly sliced fresh ginger. The result is still fragrant and delicious, but tastes warmer and less distinctly like a Thai-style soup.
- Keep the coconut broth at a simmer. A rolling boil is unnecessary and can make the soup look oily or separated. If separation happens, lower the heat and stir gently; it is usually a texture issue rather than a ruined soup. Low-sodium broth gives you more control over the final seasoning.
- Make the tofu easy to handle. Extra-firm tofu holds together best, but firm tofu also works if you stir gently. If you prefer browned edges, pan-sear the cubes separately in a lightly oiled skillet before adding them. This adds a little more active prep and creates a firmer, more substantial texture.
Serving Suggestions
Serve the soup hot in shallow bowls, with jasmine rice on the side or spooned into the broth. Rice makes the meal more filling and absorbs the coconut-lime broth, but it is best cooked separately so it does not soak up too much liquid in the pot. For a noodle bowl, add cooked rice noodles to each serving bowl immediately before ladling in the soup; storing noodles in the soup can make them swell and turn soft.
Put lime wedges, sliced scallion, extra herbs, and chili flakes on the table so everyone can adjust their bowl. A small plate of crisp vegetables or a simple cucumber salad provides a cool contrast to the creamy soup. If serving with other dishes, pair it with steamed rice and a vegetable stir-fry, keeping those dishes fairly lightly seasoned so the soup’s coconut, curry, and lime flavors remain clear.
Variations
For a more filling pot, add 1 cup (150 g) of sliced carrots or 1 cup (100 g) of baby corn with the mushrooms. Carrots need to be cut thinly so they soften during the six-minute mushroom simmer; thicker pieces should go in with the broth and simmer for the full eight minutes. You can also use a mix of shiitake, oyster, and cremini mushrooms, as long as the total amount stays close to 8 ounces (225 g).
For a milder soup, reduce the curry paste to 1 tablespoon and leave out the pepper flakes. For more heat, serve chili oil or sliced fresh chile at the table rather than adding a large amount to the whole pot. To make the soup gluten-free, use tamari instead of soy sauce and check that both the curry paste and broth are labeled gluten-free. Light coconut milk can replace full-fat coconut milk, but the broth will be thinner and less rich; avoid replacing it with a sweetened coconut beverage, which is formulated for drinking rather than cooking.
You can substitute cooked chickpeas for some or all of the tofu. Add 1½ cups (250 g) drained chickpeas with the tofu and simmer until warmed through. The texture will be firmer and more bean-like, and the soup will have less of the delicate, soft bite that tofu provides. To make the soup without mushrooms, use sliced zucchini or green beans instead; add zucchini with the tofu, or simmer green beans in the broth until almost tender before adding the coconut milk.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours of cooking, preferably in shallow, covered containers. The soup keeps for 3 to 4 days in the refrigerator. If you expect to have leftovers, you can keep the fresh herbs and lime wedges separate and add them after reheating for a fresher flavor. Rice and noodles should also be stored separately from the soup so they do not become waterlogged.
Reheat only the amount you plan to eat in a saucepan over medium-low heat, stirring gently until it is steaming throughout and reaches 165°F (74°C), the USDA FSIS temperature for reheated leftovers. Do not bring it to a hard boil. You can also microwave an individual portion in a covered, microwave-safe bowl, stirring halfway through and checking that it is hot throughout. The coconut milk may look slightly separated after chilling; gentle stirring as it warms usually brings the broth back together.
For longer storage, freeze the soup in an airtight freezer-safe container for up to 2 months for best quality. Coconut-based soups can separate after thawing, so defrost overnight in the refrigerator and reheat gently while stirring. The texture may be less silky than when freshly made, but the flavor remains usable. Add fresh lime juice and herbs after reheating rather than freezing them in the soup.
Frequently Asked Questions
Is this soup an authentic Thai tom kha?
This is a vegetarian soup inspired by the aromatic, coconut-based flavors associated with Thai tom kha soups, not a claim to be the only or definitive traditional version. Tom kha recipes vary by cook and region, and many familiar versions include chicken or fish sauce. This recipe uses tofu, vegetable broth, and vegetarian curry paste to keep the bowl meat-free while retaining lemongrass, galangal, lime leaves, coconut, and lime.
Can I make the soup without galangal or makrut lime leaves?
Yes. Ginger is the most practical substitute for galangal, though it gives a warmer, less citrusy flavor. If you cannot find makrut lime leaves, omit them and add a few thin strips of lime zest while the broth simmers, then remove the zest before serving. Zest is a useful stand-in, but it does not have quite the same floral aroma. Fresh lime juice should still be added at the end for the soup’s bright finish.
How do I keep the coconut milk from separating?
Use a gentle simmer rather than a rapid boil, and stir the soup occasionally as it heats. Full-fat canned coconut milk can separate slightly in the refrigerator or when reheated; this does not mean it has spoiled. Warm it slowly and stir until the broth looks more uniform. Avoid adding lime juice until the end of cooking, as the soup is easier to adjust after the coconut milk and other ingredients are hot.
Can I make this soup ahead?
Yes. You can prepare the soup through the tofu step, cool and refrigerate it, then reheat it gently when ready to serve. For the freshest flavor, wait to add the lime juice and herbs until just before serving. If you are preparing components ahead rather than the full pot, slice the mushrooms and aromatics and refrigerate them separately in covered containers; keep cut tofu chilled as well.
What should I do if the soup tastes too sour, salty, or mild?
If it tastes too sour, stir in a pinch of sugar and taste again rather than adding a large amount at once. If it is too salty, add a splash of unsalted broth or water and a little more coconut milk, then check the balance again. If it tastes mild, add curry paste in small increments or serve chili on the side. A final squeeze of lime can lift a flat-tasting bowl, but add it gradually so the soup does not become overly tart.
Related
- Hungarian Goulash With Stew Meat for a Hearty Dinner
- Jamaican Red Pea Stew with Coconut and Dumplings
- Taiwanese Sesame Oil Chicken Soup with Ginger
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).