Vegan Tom Yum Soup (Tom Yam)
Here’s how you can easily make vegan tom yum soup at home! This hot and sour Thai soup is bursting with flavor — give it a try!
This vegan tom yum soup is a plant-based take on the classic Thai hot and sour soup, built on a fragrant broth of lemongrass, ginger, lime, and chili, with tofu and mushrooms standing in for the usual shrimp. It comes together in one pot in about 20 minutes, and every spoonful is that signature sour-spicy-savory balance Thai food is loved for. If you want big flavor without any animal products, this is the bowl to make.
I’m so happy I discovered the wonderful Thai cuisine! I had no idea what amazing flavors I was missing until I made the vegan pad thai and now this delicious vegan tom yum soup. Before making my own version, I searched the web for the best tom yum recipes and analyzed a bunch of them. Some ask for so many peppers, 10 or more, while others leave out ingredients I consider very important for the recipe to taste good. After all that research, I finally landed on my own version, using tofu and mushrooms to replace the meat while keeping the rest of the ingredients pretty much the same as in the traditional recipe.

What is tom yum soup?
Tom Yum (also spelled Tom Yam) is a traditional Thai soup known as hot and sour soup. It’s usually cooked with shrimp, and the broth is built from lemongrass, kaffir lime leaves, galangal, lime juice, fish sauce, and crushed chili peppers. The name describes the two things that define it: “tom” is the boiling, and “yum” is the sour, tangy flavor. This vegan version keeps that same aromatic broth and simply swaps the seafood and fish sauce for plant-based alternatives, so you get all the character with none of the animal products.
The ingredients that make it sing
Tom yum is all about aromatics, so a few of these ingredients do the heavy lifting. Here is what to know about the key players:
- Lemongrass gives the broth its bright, citrusy backbone. Slice the stalks about two inches long and bruise them so they release their oils.
- Ginger (or galangal) adds warmth and a peppery bite. Traditional tom yum uses galangal, but ginger is a close cousin and works well when galangal is hard to find.
- Thai chile peppers bring the heat. I use three, with the seeds removed to keep the spice in check. Crush them in a mortar and pestle so they infuse the whole pot.
- Lime juice is what makes it sour. Add it toward the end so it stays fresh and tangy rather than cooking off.
- Vegan “fish” sauce and light soy sauce supply the salty, umami depth that fish sauce normally gives. The fish sauce is optional, but it deepens the flavor a lot.
- Coconut milk rounds out the sharpness with a little creaminess. I use about a third of a can, so the broth stays light rather than heavy.
- Tofu and button mushrooms stand in for the shrimp, adding body and something to chew on.
Can’t find the special ingredients? Here’s what to use
Tom yum needs some special ingredients, but if you can’t track them all down, don’t worry. Here are the swaps I actually used myself:
- Kaffir lime leaves: I couldn’t find these in my local Asian stores, so I used bay leaves instead. They add a similar aromatic note to the broth.
- Galangal: galangal is similar to ginger, so I simply used ginger. It keeps that warm, sharp flavor without the hunt.
- Vegan “fish” sauce: this one is optional. If you don’t have it, lean a little more on the soy sauce for that salty, savory backbone.
If you do want the authentic ingredients, galangal and kaffir lime leaves are available on Amazon, so it’s worth checking there if you’d like to make the most traditional version.

Tips for the best hot and sour balance
The magic of tom yum is in the balance between sour, spicy, and savory, and a few small habits make all the difference:
- Crush the aromatics first. Pounding the lemongrass, chilies, and ginger in a mortar and pestle before they hit the pot breaks open the fibers so they release far more flavor into the broth than whole slices would.
- Bloom the spices in oil. Frying the crushed aromatics for a minute, then adding the coconut oil and frying a minute more, wakes up their fragrance before you pour in the broth. This short step builds a deeper base.
- Add lime juice late. Lime is heat-sensitive, so stirring it in near the end keeps the sourness bright instead of dull and flat.
- Taste and adjust. Everyone’s chilies and limes differ in strength. Before serving, taste and tweak: more lime for sour, more soy for salt, more coconut milk to soften the heat.
What to serve with vegan tom yum soup
Tom yum is fragrant and brothy, so it pairs beautifully with a bowl of steamed jasmine rice to soak everything up, or with a bigger Thai spread. I love serving it alongside my vegan pad thai for a proper Thai night at home. If you’re in the mood for more cozy soups, the vegan red lentil soup and a creamy carrot ginger soup are other warming bowls worth having in your rotation.
Storing and making it ahead
Tom yum is best enjoyed fresh, while the lime and aromatics are at their brightest, but it keeps well too. Let it cool, then store it in an airtight container in the fridge for up to three days. Reheat gently on the stovetop over medium heat, and taste before serving — a fresh squeeze of lime perks it right back up. I don’t recommend freezing this one, since the tofu changes texture and the delicate broth loses some of its sparkle. If you’re planning ahead, you can crush and prep the aromatics in advance so the soup comes together even faster on the day. For more make-ahead soup inspiration, take a look at my creamy carrot ginger soup.

If you make this vegan tom yum soup, I’d love to know how the sour-spicy balance turned out for you, and whether you found galangal or stuck with ginger like I did. Please rate the recipe and leave a comment below with any tweaks you tried. And don’t forget, if you give it a go, take a photo and tag me on Instagram @gourmandelleblog using the hashtag #gourmandellerecipe — I’ll feature you on my Facebook page and/or Instagram Stories!
Summarise & Save This Recipe
★ Add us as a trusted Google source
Vegan Tom Yum Soup (Tom Yam)
Ingredients
- 4 cups vegetable broth or water
- 5 bay leaves I didn’t have kaffir lime leaves so I used bay leaves instead
- 3 slices ginger unpeeled, use galangal if you can, I couldn’t find it here
- 3 slices lemongrass about 2 inches long
- 1 cup button mushrooms sliced
- 2 tbsp light soy sauce
- 2 tbsp coconut oil
- 3 tsp vegan “fish” sauce optional
- 3 Thai chile peppers crushed in a mortar and pestle, seeds removed
- ⅓ can coconut milk
- 1 lime juiced
- 1 tomato diced
- ½ onion diced
- ½ cup tofu cubed
- green onions chopped
Instructions
- In a mortar and pestle, add the lemongrass, chile peppers, and ginger or galangal. Crush them so they release their flavors.
- Heat a saucepan over medium heat. Add the crushed spices and stir-fry for 1 minute. Add the coconut oil and fry for one more minute. Pour in the vegetable broth and bring it to a boil.
- Once boiling, add the bay (or kaffir lime) leaves, mushrooms, vegan fish sauce, light soy sauce, lime juice, tomato, onion, coconut milk, and tofu.
- Boil for 10 minutes.
- Garnish with chopped green onions and serve hot.
Notes
Frequently Asked Questions
Traditional tom yum is not vegan, since it’s usually made with shrimp and fish sauce. This version is fully plant-based: it swaps the shrimp for tofu and mushrooms and uses a vegan ‘fish’ sauce plus light soy sauce for that same salty, umami depth. You get all the classic hot and sour flavor with no animal products.
Galangal is similar to ginger, so I used ginger instead and it works well. For kaffir lime leaves, I couldn’t find them locally, so I used bay leaves, which add a comparable aromatic note to the broth. If you want the authentic ingredients, galangal and kaffir lime leaves are available on Amazon.
This recipe uses three Thai chile peppers with the seeds removed, which gives a noticeable but manageable heat. If you prefer it milder, use fewer chilies or add a little more coconut milk to soften the spice. For more heat, leave some seeds in or add an extra pepper.
No, the vegan ‘fish’ sauce is optional. It deepens the savory, umami flavor that fish sauce normally provides, but the soup is still delicious without it. If you skip it, lean a little more on the light soy sauce to keep that salty backbone.
Let it cool, then store it in an airtight container in the fridge for up to three days. Reheat gently on the stovetop and add a fresh squeeze of lime before serving to brighten it back up. I don’t recommend freezing it, since the tofu changes texture and the delicate broth loses some of its freshness.
Steamed jasmine rice is the classic pairing to soak up the fragrant broth. For a fuller Thai meal at home, serve it alongside vegan pad thai. It also fits nicely into a lineup of cozy soups like vegan red lentil soup or creamy carrot ginger soup.

Can’t believe this was not made with shrimps! Loved the taste! Thanks for the recipe!
You’re welcome!
Hot and sour soup is a different soup. Tom yum soup is known in English as lemongrass soup owing to the intoxicating aroma and flavor that the lemongrass adds to this soup.
Didn’t know this! Thank you! 🙂 I corrected it now so it won’t be confused with the Chinese hot and sour soup. On Wiki it says it’s a Thai hot and sour soup, though. https://en.wikipedia.org/wiki/Tom_yum