Ridiculously flavourful, this spicy Thai coconut soup features a who’s who of aromatics: lemongrass, ginger, lime leaves, chili, and coriander seeds. Creamy, warming and lusciously rich, Tom Kha is an indulgent bowl in a meal.
While close to authentic, I’ve made a few adaptations so that you can easily make both vegan and chicken versions from a single starting point if you’re a mixed-diet household.

Replacing Broth with Coconut Milk
This recipe uses both canned coconut milk and the milk substitute kind of coconut milk. I included both because I wanted to omit the broth. If you’re making this for a mixed group, chicken broth of course won’t do. I considered testing it with vegetable broth, which is a common replacement, but store-bought vegetable broth tends to be onion/carrot/celery-based and I didn’t want to have to fight with its flavours. So using a plant-based milk as an alternative to broth just made sense. From a flavour standpoint, I don’t think it makes a big difference, as there’s so much intense flavour in all of the rest of the ingredients.
PRO TIP
If you can’t find plant-based milk made from coconut, any unsweetened plant-milk would be fine if you’re vegan. You can just substitute regular dairy milk if you’re not. Or just add more canned coconut milk, but thin it down substantially with water (80% water, 20% coconut milk).
The Aromatics
In cooking, an aromatic is anything that enhances the aroma and flavour of a dish. This dish has plenty of them: lemongrass, ginger, lime leaves, chili, and coriander seeds. Lemongrass is just like it sounds, look for pale-green stalks with a citrusy scent. While authentic Tom Kha uses galangal, I’ve used its rhizome relative, ginger, which is a bit more easily found, at least in Canada. Obviously, if you’ve got access to galangal you should use it!
The lime leaves look like what you’d expect, a green leaf, but they have a waxy appearance. Note that if you’re in North America, you may see the lime leaves labelled as makrut lime or more often, kaffir lime — kaffir is actually a very derogatory word in South Africa and other African countries, but most North Americans don’t know that, shame on us. North American insularity aside, the lime leaves will keep for a long time if you put them in your freezer in a well-sealed container. They defrost in mere minutes and they’re great to have on hand if you love Thai flavours.
For the chilis, I used a Thai red chili, also known as a Bird’s eye chili.
Coriander Seeds are an Unusual Twist for Tom Kha
I’ve also added coriander seed to the mix of aromatics. Coriander seeds are a wonder spice that manage to be earthy, floral, citrusy, and peppery all at once. In other words, a perfect compliment to the lemongrass, ginger, lime leaves, and Thai chilis that flavour this luscious coconut soup.
Replacing Fish Sauce
Fish sauce is a key ingredient in traditional Tom Kha. If you can find a vegan version of fish sauce, use that. I’ve been unable to find any locally, so I use black bean sauce in its place. It offers that funky, fermented taste, but be sure to follow the recipe for quantities as a little goes a long way so I don’t swap it one for one for the fish sauce.
About Palm Sugar
Traditionally, this recipe is made with palm sugar, which has a beautiful caramel taste. If you can’t find it, you can swap coconut sugar, brown sugar, or even white sugar, being sure to use vegan white sugar if need be.
The Protein
For the meat-eater version, chicken is traditional, the Gai in Tom Kha Gai means chicken; however, turkey could work well here, too.
For the vegan version, I’ve used puffed tofu. This is deep-fried tofu that has a chewy outer layer and sponge-like quality that absorbs the soup’s flavours. You could sub with your favourite firm or extra-firm tofu if you don’t want it deep-fried.
If you’re serving this soup as an appetizer, you could even omit the protein entirely, since it’s so rich.

Shopping for the Ingredients
All the ingredients should be available at an Asian grocery store, or even some well-stocked grocery stores. Other than the fresh limes that you need for the lime juice and the Thai red chilis (aka Bird’s eye chilis) all of the ingredients will keep for a long time in your pantry or fridge (or freezer for the lime leaves). This Butternut Squash Green Curry is a great use for your lime leaves and fish sauce/black bean sauce. And you can use the palm sugar, and fish sauce/black bean sauce, in this Thai Apple Salad recipe.
The Cooking Process
Tom Kha is pretty straightforward to make. Most of the prep work is in preparing the aromatics. Start by peeling off the outer layer of the lemongrass, and then cutting it into 2 or 3 shorter pieces. Take each of these pieces and quarter them lengthwise. Now you’ll have a bunch of thin strips, perfect for releasing the citrus-scented oil.
You don’t need to peel the ginger or galangal, just roughly cut it into thinnish slices, again to maximize the release of natural oils.
Slice the chilis lengthwise and remove the seeds. The seeds are where the heat is, so leave them in at your own risk.
Next combine the milks along with the aromatics in a large saucepan, setting it to a low boil, and letting the flavours infuse for about 30 minutes or so. Other than giving it a random stir every know and then, you can just go about your business while this goes on. Your kitchen will smell more fabulous by the minute.

Simmer the coconut milk and aromatics, allowing the flavours to infuse the soup. Your kitchen will smell more fabulous by the minute.
Strain out the aromatics
Once the flavours are infused into the soup, you’ll strain out the aromatics. You can set some aside for garnish if you like (as I did for the photos), but they’ve already served their purpose on the flavour side, and although beautiful to behold, they aren’t quite as much fun to eat.
Next, you’ll add in the the tofu or chicken and the rest of the seasoning, namely fish sauce (or black bean sauce if you’re vegan), along with soy sauce, sugar, and lime juice. Finally, add in the mushrooms and tomatoes. Now you just need to let everything heat through for a few minutes and it’s ready to eat.
Tom Kha is rich and filling all on its own, but you could certainly serve it over your favourite rice.

Making Tom Kha for a Mixed Group of Eaters
This soup is really easy to make for a mixed group of vegans and meat-eaters. After you’ve made the base soup and strained out the aromatics, you divide the soup into two pots. Then you just need to add in the remaining ingredients and simmer for a few minutes.
Adaptable Recipes for Vegans, Vegetarians, and Meat-Eaters
Looking for some other mains to feed mixed eaters? How about:
- Buddha Bowls w/ Brown Butter Pineapple Teriyaki Sauce (Tofu, Prawns, Chicken)
- Tom Kha Soup – Vegan or with Chicken
- Mexican Stuffed Peppers – Vegan, Vegetarian, Beef
- Green Pasta Sauce – Vegan, with Vegetarian or Meat-eater Toppings
- Roasted Veggies with Curry Cream Sauce – Vegan, Vegetarian, Pork
- Corn Chip Casserole: Vegan (Jackfruit) or Chicken
- Black Beans and Polenta – Vegan, Vegetarian, Bacon-enhanced
- Butternut Squash Green Curry: Vegan or Chicken
- Lettuce Wraps: Vegan or Pork
- 15-Minute Thai Chickpea Curry (Vegan or Pork)

Tom Kha Soup – Vegan or Chicken
Ingredients
- 800 ml coconut milk
- 400 ml coconut milk (milk substitute kind) Or use 2% milk if not vegan, or other unsweetened plant-milk}
- 1/2 cup ginger, roughly chopped
- 2 tablespoons coriander seeds
- 1 stalk lemongrass, cut and quartered
- 4 lime leaves {See recipe notes.}
- 2-4 Thai chilis, sliced in half and deseeded {The seeds are the spicy part. Only include if you want it very very spicy}
- 1/4 cup soy sauce
- 2 tablespoons sugar {See recipe notes.}
- 2 tablespoons lime juice
- 8 mushrooms, sliced
- 12 cherry tomatoes, halved
- 2 tablespoons cilantro
For Chicken Version
- 1 cup shredded cooked chicken
- 1/4 cup fish sauce
For Tofu version
- 50 grams tofu puffs {Or substitute with tofu of choice.}
- 2 teaspoons black bean sauce {If available, replace with vegan fish sauce to taste.}
Instructions
Make the base sauce:
- In a large saucepan, combine the milks, ginger, coriander seeds, lemongrass, lime leaves and Thai chilis.
- Put the sauce on a low boil and let it simmer to infuse the flavours for about 30 minutes.
- Strain the ginger, coriander, lemongrass, lime, and chilis from the milk. If you are making both the vegan and the chicken version, now’s the time to separate the infused coconut milk into two separate sauce pans. Set aside to use as garnish, if desired.
- Add the soy sauce, sugar, and lime juice.
For the Chicken version:
- Add the fish sauce and shredded chicken.
Add the mushrooms and tomatoes.
Simmer for about 5 minutes until the chicken is warmed through.
For the Tofu version:
- Add the black bean sauce and puffed tofu. Add the mushrooms and tomatoes.Simmer for about 5 minutes until the tofu is warmed through.
For all versions
- To serve, garnish with cilantro and if desired, any of the aromatics (lemongrass, lime leaves, etc). Beware though that these are pretty but not really practical to eat.
Notes
- This recipe doesn’t require any broth. The broth is replaced with coconut milk (the drink substitute kind, not the canned kind) or any unsweetened plant-milk, if vegan, or just regular dairy milk if you’re not vegan.
- Traditionally, this recipe is made with palm sugar, which has a beautiful caramel taste. If you can’t find it, you can swap coconut sugar, brown sugar, or even white sugar, being sure to use vegan white sugar if need be.
- This recipe is traditionally made with galangal. I’ve suggested ginger as it’s easier to find, but use galangal if you can find it.
- If you can find a vegan version of fish sauce, use that. If not use black bean sauce to achieve that same funky fermented flavour. Do not swap the fish sauce 1 for 1 with the black bean sauce. This recipe uses 1/4 cup of fish sauce or 2 teaspoons of black bean sauce.
- Lime leaves will keep well in your freezer and they only take a few minutes to defrost.
- You can keep the lemongrass in the freezer, tightly wrapped.
- You should be able to find most of the ingredients at an Asian grocery store, or even some well-stocked grocery stores.
4 comments
Guys, Thanks For sharing this Great Recipe. My Family Loved it. I am definitely sharing this recipe and this website with my friend. Hope they also love it. Thank you again for sharing such a great recipe.
So happy to hear your family loved it!
Thanks For Sharing this Amazing Recipe. My Family Loved It. I will be sharing this Recipe with my Friends. Hope They will like it.
You’re welcome! It’s a family favourite!