This vegan Tom Kha is rich, creamy, and bursting with umami, with just the right balance of tanginess from fresh lime juice. It’s a comforting coconut soup that comes together in just 30 minutes, and you can easily adjust the spice level to suit your taste!
I especially love serving it alongside green curry fried rice or a comforting plate of tofu Pad Thai for a comforting and satisfying Thai-inspired meal.

After a long day, I always reach for something warm and comforting, and a simple Chinese vegetable soup is my go-to. But when I have a little extra time, I love making something more flavorful, like vegan laksa or this tofu Tom Kha.
While it calls for a few more ingredients, the end result is absolutely worth it. It’s delicious with just rice, but I especially love pairing it with sides like Thai spring rolls for a more complete meal!
Jump to:
💚Why you will love this recipe
- Creamy, satisfying, and packed with bold flavors
- Easy one-pot recipe, ready in just 30 minutes
- Highly customizable—add your favorite ingredients and adjust the spice level to taste
- Packed with plant-based protein!
🤔What is tom kha
Tom Kha is a creamy, flavorful Thai soup traditionally made with coconut milk, chicken (or seafood), and infused with galangal, lemongrass, and chilies. The name translates to “boiling galangal” (Tom Kha) and “chicken” (Gai).
Known for its creaminess and slight tanginess from lime juice, it’s commonly served with steamed rice but also pairs well with fried rice, like my Thai vegetable fried rice, or noodles.
While the classic version features chicken, it can easily be made plant-based with tofu!
🍛What you will need
- Galangal – Fresh works best, but frozen or dried can be used too. If needed, ginger can be a substitute, though the flavor will be slightly different.
- Kaffir lime leaves – Destem and chop into smaller pieces. If unavailable, substitute with 1 teaspoon lime or lemon zest.
- Lemongrass – Use only the bottom white half for the best flavor. You can also swap it with 1 tablespoon lemongrass paste.
- Chilies – I deseed them to keep the soup milder, but you can leave the seeds in for more heat. To make it extra spicy, use Thai chilies.
- Red curry paste – Optional, but gives curry a more robust flavor. My go to is Maesri red curry paste.
- Coconut milk – Regular coconut milk gives the best richness, but light coconut milk will work for a lower-fat version, though it won’t be as creamy.
- Broth – I’m using Better Than Bouillon No Chicken Base, but regular vegetable broth works too.
- Tofu – Serves as the protein substitute for chicken. Extra-firm or firm tofu works, and there is no need to press it beforehand.
- Mushrooms – I’m using shiitake, but you can swap them with oyster, enoki, or button mushrooms.
See the recipe card for full information on ingredients and quantities.
💡Tip on preparing lemongrass
Slice off ½ inch from the bottom, trim the thin leaves, and peel 1–2 outer layers. Then, smash with the back of a knife to release its aroma. For more details, check out this guide on how to cook with lemongrass!
✨Variations and add-ins
Tom Kha Paste – Don’t want to go through the hassle of buying a whole bunch of aromatics? You can use a premade Tom Kha paste instead.
Tofu Alternatives – If you don’t like tofu, swap it with seitan (like my Instant Pot seitan or seitan chicken), tempeh, or rehydrated soy curls.
Veggies – Add extra carrots, cauliflower, broccoli, or tomatoes to your vegan tom kha for more nutrition and texture.
Make it a Noodle Soup - Stir in cooked rice noodles to make a hearty Tom Kha noodle soup. You can also serve it over stir-fried noodles like vegan Pad See Ew or vegetable Mei Fun.
Mild Version – Omit the chilies and red curry paste for a spice-free soup.
Extra Creamy – Skip the broth and use 2-2 ½ cans of coconut milk for an ultra-rich and creamy tofu Tom Kha.
🔪How to make
Step 1: Heat 1 tablespoon oil in a Dutch oven over medium heat. Add onion and sauté until translucent.
Step 2: Stir in the aromatics and cook until fragrant.
Step 3: Add red curry paste and fry for another 30 seconds.
Step 4: Pour in coconut milk and broth, then bring to a simmer. Add mushrooms and tofu.
💡Helpful tips
Cook curry on low heat, keeping it to a gentle simmer to prevent coconut milk from curdling.
Step 5: Cook for 10–15 minutes until mushrooms soften. Finish with a squeeze of lime juice.
Step 6: Serve vegan Tom Kha with rice or noodles. Enjoy!
Save this recipe!
Also get a FREE high-protein vegan recipe eBook + weekly new recipes! Unsubscribe anytime.
❄️Storing suggestion
Refrigerate – Keep leftovers in an airtight container in the fridge for up to 5 days.
Freeze – Store in Souper Cubes or a freezer-safe container for up to 3 months. The tofu will have a slightly chewier texture upon freezing but will still taste amazing!
Reheat – Let frozen Tom Kha thaw overnight in the fridge, then warm it up on the stove or in the microwave.
❔Commonly asked questions
Both tom kha and tom yum are classic Thai soups, but they have distinct differences. Tom Kha is a creamy, coconut milk-based soup with a rich and slightly sweet flavor, while Tom Yum typically has a clear, spicy, and tangy broth. Some variations of Tom Yum include evaporated milk, but it remains lighter than Tom Kha.
The key ingredient that sets Tom Kha apart is galangal, which adds spice, peppery, and citrusy flavors to the soup. Tom Yum, on the other hand, has a more spicy, sour, and savory profile, often made with a mix of lime juice, lemongrass, and chilies.
Mushrooms are a staple in Tom Kha, and shiitake, oyster, button, enoki, or even canned mushrooms all work great.
For extra flavor and nutrition, try adding carrots, bell peppers (any color), broccoli, baby corn, tomatoes, bok choy, or cauliflower. They may not be authentic, but they pair beautifully with the creamy, aromatic broth!
While Tom Kha is traditionally served with rice, you can easily turn it into a heartier meal by adding rice noodles or vermicelli directly to the soup. It soaks up the creamy broth beautifully!
Tom Kha can range from mild to moderately spicy, depending on how much chiles were added to the recipe. One of the best parts of making it at home is that you can customize the spice level to your liking.
For a milder soup, reduce or omit the chilies. If you love heat, add more or swap in Thai chilies for an extra kick!
Tom Kha is commonly served with jasmine rice, but any grain works—quinoa, brown rice, basmati, or even coconut rice (like my rice cooker coconut rice).For a lower-carb option, try cauliflower rice.
It also pairs well with side dishes like green papaya salad, pad pak (stir-fried vegetables), or any of your favorite veggie sides!
🍽️More vegan curries
If you made this recipe, leave a rating and comment below. We would love to hear from you! Subscribe to My Plantiful Cooking to get new recipes delivered straight to your inbox! Follow us on Instagram, Facebook, and Pinterest to get the latest updates. 😉
📖 Recipe
Vegan Tom Kha Soup (with tofu)
Ingredients
- ½ medium yellow onion diced
- 10 slices galangal *or ginger (see notes)
- 3 cloves garlic minced
- 2 red chilies roughly sliced
- 5 kaffir lime leaves destemmed, chop into smaller pieces (or 1 teaspoon lime zest)
- 1 stalk lemongrass bottom white part only, smashed**
- 1 tablespoon Thai red curry paste
- 2 cups vegetable broth
- 1 can coconut milk full-fat or light
- 8 shiitake mushrooms sliced
- 1 block extra-firm tofu or firm (no pressing needed)
- 2 tablespoons soy sauce or tamari/shoyu (use gluten-free if needed)
- 1 tablespoon sugar
- 2 tablespoons lime juice
Instructions
- Heat a tablespoon of oil in a Dutch oven. Add onion, and saute until translucent, about 3-4 minutes.
- Add galangal, garlic, kaffir leaves, chilies, and lemongrass next. Cook for a minute until fragrant. Stir in curry paste and cook for an additional 30 seconds.
- Add coconut milk and broth to the pot, and bring it to a gentle simmer before adding mushrooms and tofu. Cook for 10-15 minutes or until the mushrooms are soft. Cook on low to medium heat to prevent the coconut milk from curdling.
- Top your vegan Tom Kha with cilantro leaves and chili slices, and serve it with freshly cooked rice!
Notes
**Preparing lemongrass - Slice off ½ inch from the bottom, trim the thin leaves, and peel 1–2 outer layers. Then, smash with the back of a knife to release its aroma. For more details, check out this guide on how to cook with lemongrass! Helpful tips
- Use Tom Kha paste - Don’t want to go through the hassle of buying a whole bunch of aromatics? You can use a premade Tom Kha paste instead.
- Make it a noodle soup – Stir in cooked rice noodles to turn this into a hearty Tom Kha noodle soup.
- Mild version – Omit the chilies and red curry paste for a spice-free soup.
- Storing leftovers - Keep leftovers in an airtight container in the fridge for up to 5 days, or freeze for 3 months. (Texture of tofu will change slightly after freezing, but still be delicious.)
Save this recipe!
Also get a FREE high-protein vegan recipe eBook + weekly new recipes! Unsubscribe anytime.
Nutrition
Nutrition info calculated is just a rough estimate and is provided as a courtesy. Bear in mind that value will vary based on variables like specific brand or type of product used. To obtain the most accurate representation, it is highly recommended that you calculate it on your own with the actual amount and type of ingredient used.
jennifer says
where's the tofu? and when to add it in?
recipe looks delish!
Jim Mee Sha says
Thanks for pointing it out, I had updated the recipe card. The tofu should be added in together with the mushrooms.😁