Soothing. That’s what comes to mind when I think of Tom Kha Soup. The creamy coconut broth, bright lime, fragrant Thai herbs, and little kick of heat calm my heart with every bite.
I teach this soup in my Thai cooking classes in Boone, and it is always one of the dishes people love most!
What Is Tom Kha Soup?
At first, the list of ingredients can sound intimidating.
Galangal? Lemongrass? Makrut lime leaves?
But once my students see how simple this soup is to make, they leave thinking, “Wait, I could totally cook this at home!”
And they do, and you can too, dear!
The ingredient that makes Tom Kha stand out is the kha, or galangal. I like to think of it as the tough grandpa of ginger who doesn’t mind taking the lead. Its piney, citrusy, slightly peppery flavor gives this soup that taste you adore.
Why You’ll Love This Recipe
- Authentic Thai flavor taught to you by a Thai cooking class instructor
- Creamy without dairy thanks to rich coconut milk
- Bright, cozy, and comforting with citrusy Thai herbs
- Beginner friendly once you have the ingredients
- Perfect with jasmine rice to make it extra filling
Tom Kha Soup Ingredients You’ll Need
- 2 stalks lemongrass: Adds a fresh, lemony fragrance to the broth.
- 3-inch piece fresh galangal or 6 to 8 dried galangal slices: The star ingredient in Tom Kha Soup. Slice it thinly like the width of a quarter. There is no need to peel it.
- 4 cups chicken stock: Creates the savory base for the soup.
- 1 (13.5-ounce) can coconut milk: Makes the broth rich and creamy. Chaokoh or Aroy-D are my favorite brands!
- 1 pound chicken breasts or thighs: Cut the chicken into small, bite-sized pieces so it cooks evenly.
- 2 cups sliced mushrooms: White button, baby bella, cremini, oyster, or straw mushrooms work well. I don’t recommend shiitake because their flavor can overpower the Thai herbs.
- 1 small onion: Quartered and sliced about 1/4-inch thick.
- 2 to 8 fresh Thai chilies: Smash them until you can see the seeds inside. Use fewer for a milder soup or more if you love spicy Thai food!
- 4 fresh makrut lime leaves: Remove the tough center stems and slice the leaves into thin slivers. These are also labeled kaffir lime leaves.
- 3 to 4 tbsp fish sauce: Gives the soup its savory, salty flavor. Add it to taste.
- Juice of 3 limes: Adds that essential fresh, sour pop. Add it to taste.
- 1 to 2 tbsp palm sugar or brown sugar: Gently balances the sour and salty flavors.
- 1 handful fresh cilantro leaves: Sprinkle them over the soup right before serving.
- Jasmine rice for serving: Optional, but so good with the creamy, spicy broth!
How to Make Tom Kha Soup
Step 1: Prepare the Thai herbs
Cut off and discard the dry bottom ends of 2 lemongrass stalks. Remove the loose outer layers, then slice the stalks diagonally into 1-inch pieces, stopping where the tender stalk turns into the grassy top.

Smash the sliced lemongrass with the side of a chef’s knife or a mortar and pestle. This helps release all that amazing flavor!
Thinly slice the 3-inch piece of galangal into rounds about as thick as a quarter. Remove the tough center stems from the 4 makrut lime leaves, rub the leaves between your fingers to release their fragrance, then tear each leaf into a few pieces.
Step 2: Start the broth
Add 4 cups chicken stock, the prepared 2 stalks lemongrass, sliced galangal, and 4 slivered makrut lime leaves to a large soup pot.
Bring the broth to a gentle boil over medium-high heat.
Step 3: Cook the chicken and vegetables
Add 1 small sliced onion, 2 cups sliced mushrooms, and 1 pound bite-sized chicken to the pot.
Return the soup to a gentle boil, then reduce the heat as needed to keep it from boiling too aggressively. Cook for 15 to 20 minutes, or until the chicken is completely cooked through and mushrooms are tender.
If you want more broth, add additional chicken stock or water. I usually add about 2 more cups at this stage.
Step 4: Add the Thai chilies
If using, smash 2 to 8 Thai chilies until they split open and you can see the seeds. Add them to the soup and cook for another 2 to 3 minutes.
For a milder soup, add the chilies near the end. For more heat, add them earlier and let them simmer longer. Those little chilies might look cute, but they are small but mighty, so watch out!
And if you like spicy, but someone else doesn’t, leave out the chilies and make my Prik Nam Pla, aka Thai Flavor Bomb Sauce, so you can add your chilies to taste!
Step 5: Finish the soup
Turn off the heat. Stir in 1 (13.5-ounce) can coconut milk, 3 tbsp fish sauce, juice of 3 limes, and 1 tbsp palm sugar or brown sugar.
Taste and add more fish sauce, lime juice or sugar as needed.
I like my Tom Kha Gai sour first, followed by light salty and sweet flavors. Trust your taste buds and keep adjusting until all the flavors meld together!
Step 6: Garnish and serve
Sprinkle a handful of fresh cilantro leaves over each serving of the soup.
Serve warm with jasmine rice and enjoy every creamy, tangy, spicy spoonful!
Additions and Substitutions
- Chicken substitute: Shrimp, thinly sliced pork, tofu, or mixed vegetables
- Chicken stock substitute: Vegetable, seafood stock, beef broth, or pork broth
- Fresh galangal substitute: Dried galangal slices
- Makrut lime leaves substitute: ½ tsp lime zest per lime leaf
- Thai chili substitute: Serrano peppers or crushed red pepper flakes. Or if you like spicy, but others eating the soup don’t, make my Prik Nam Pla, aka Thai Flavor Bomb sauce to have on the side to add spiciness to taste.
- Palm sugar substitute: Light brown sugar or coconut sugar
- Fish sauce substitute: 1/2 tbsp soy sauce + 1/2 tbsp vinegar of choice (except balsamic) + a pinch of salt, or coconut aminos
- Cilantro substitute: leave it out, or Thai basil
- Mushroom options: White button, baby bella, cremini, oyster, or white
Tips for the Best Tom Kha Soup
- Use galangal, not ginger. Galangal is what gives this soup its signature earthy, citrusy flavor.
- Smash the chilies until you see the seeds. Simply pressing on the outside may not release enough heat. Break them open so their spicy flavor can mingle with the broth, and remember, the longer the smashed chilies cook in the soup, the spicier your broth will become.
- Don’t vigorously boil the coconut milk. Add it after turning off the heat so the broth stays smooth and creamy.
- Add the lime juice at the end. Cooking fresh lime juice for too long can dull its bright flavor and sometimes make it bitter.
- Remember that Thai herbs are not always meant to be eaten. The lemongrass and galangal flavor the broth, but they can be tough to chew. Eat around them or strain them out before serving.
- Choose mild mushrooms. Shiitake mushrooms are delicious, but their strong flavor can compete with the galangal, lemongrass, and lime leaves.
- Serve it with rice. Jasmine rice turns the soup into a filling meal and soaks up that creamy broth!
Behind the Tom Kha Soup Recipe
After taking the first sip of my Tom Kha Gai years ago, Thai Hubby asked me, “Did you add the chilies?”
“Yes! And I added four of them! Why can’t we taste them?” I asked while searching around in the soup wondering if they’d disappeared somehow.
He pulled one of the delicate green chilies from the pot to inspect my handiwork.
“You need to smash them so the seeds are showing. That’s where all the spice is,” he said, sounding shocked that I had somehow missed the memo.
Oops!
As my kids and I used to sing, thanks to Daniel Tiger, it’s okay to make a mistake. Just see how you can fix it and do things differently next time!
The next time, I pounded the Thai chilies in my mortar and pestle until their insides and seeds were exposed. Once that heat mingled with the sour lime juice, salty fish sauce, sweet coconut milk, and fragrant galangal, my Tom Kha Gai was paradise on a spoon.
So remember, don’t be shy with those chilies. Smash them until you can see the seeds and savor that spiciness!
And if you like spicy, but others eating the soup don’t, do what I always do for my Thai cooking classes! I usually don’t add Thai chilies to the soup, and instead make my Nam Pla Prik, aka Thai Flavor Bomb sauce to have on the side to add spiciness to taste for those who like it and keep it safely away from those who don’t.
Tom Kha Soup Frequently Asked Questions
Tom Kha Soup is made with coconut milk, chicken, mushrooms, galangal, lemongrass, makrut lime leaves, Thai chilies, fish sauce, sugar, and lime juice.
It tastes creamy, citrusy, tangy, salty, lightly sweet, and spicy. Galangal, lemongrass, and lime leaves give the broth its fresh, citrusy Thai flavor.
Tom Yum is usually a lighter, sharper soup with a strong sour and spicy flavor since there isn’t any coconut milk and lemongrass is more of the leading flavor.
Tom Kha contains coconut milk and more galangal, giving it a creamier broth with a rich, soothing flavor.
Try not to! Galangal has a sharper, earthier, more citrusy taste and is the defining ingredient in Tom Kha.
It can be mild or spicy depending on how many Thai chilies you use and how long you cook them. Add the chilies near the end for less heat or earlier for a spicier soup.
The galangal and lemongrass are usually left in the bowl but not eaten because they remain tough and fibrous. Eat around them, which is what we do, or strain them from the broth before serving.
Yes! Store it in an airtight container in the refrigerator for up to three days. Reheat it gently without bringing it to a hard boil. Add a fresh squeeze of lime juice before serving to wake up the flavors.
Yes, it is naturally dairy-free because coconut milk creates the creamy broth. It can also be gluten-free, but check the label on your fish sauce and chicken stock to make sure.
What to Serve with Tom Kha Soup
- Thai crab omelette: This crispy, golden Thai omelette filled with tender crab is perfect with Tom Kha Soup and jasmine rice for a Thai restaurant-style meal at home.
- Chicken Pad Thai: I usually serve Tom Kha along Pad Thai at my cooking classes and my students love the combo!
- Thai basil chicken fried rice: A flavorful fun option if you want something heartier than plain jasmine rice.
- Fresh Thai spring rolls with Thai Peanut Sauce: Another fav pairing at my Thai cooking class! The cool, crunchy vegetables balance the warm, creamy soup.
Let’s Stay in Touch, Dear!
If you want to learn how to make Tom Kha Gai in person, come join one of my Thai cooking classes in Boone, NC!
Sign up for my Thai-Foodie email list to get my free Thai Substitution Hacks Cheat Sheet and more authentic Thai cooking tips straight to your inbox!
Print
Tom Kha Soup Recipe | Thai Coconut Chicken Soup
- Total Time: 50 minutes
- Yield: 4 1x
- Diet: Dairy-Free, Gluten-Free
Description
LOVE all the heart-warming flavors in Tom Kha Gai: coconut milk, chicken, makrut lime, lemongrass, galangal, Thai chili peppers and lime juice! Coziness with a kick in a bowl! The perfect way to warm up any day!
Ingredients
- 2 stalks lemongrass
- 3 inch section of fresh galangal or 6–8 dried galangal pieces, thinly cut, no need to peel
- 4 c. chicken stock
- 1 13.5 oz can coconut milk (Chaokoh or Aroi-D brands are my favorite)
- 1 lb. chicken breasts, cut into small bite-size pieces
- 2 c. sliced mushrooms of your choice like oyster mushrooms, white button, baby bella, or cremini, but not shitake (too overpowering)
- 1 small onion quartered and sliced 1/4 in. thick
- 2–8 fresh Thai chilies, smashed so you can see the inside
- 4 fresh makrut lime leaves
- 3–4 tbsp. fish sauce, to taste
- Juice of 3 limes, to taste
- 1–2 tbsp. palm sugar or brown sugar, to taste
- handful of cilantro leaves
Instructions
Step 1: Prepare the Thai herbs
- Cut off and discard the dry bottom ends of 2 lemongrass stalks. Remove the loose outer layers, then slice the stalks diagonally into 1-inch pieces, stopping where the tender stalk turns into the grassy top.
- Smash the sliced lemongrass with the side of a chef’s knife or a mortar and pestle. This helps release all that amazing flavor!
- Thinly slice the 3-inch piece of galangal into rounds about as thick as a quarter. Remove the tough center stems from the 4 makrut lime leaves, rub the leaves between your fingers to release their fragrance, then tear each leaf into a few pieces.
Step 2: Start the broth
- Add 4 cups chicken stock, the prepared 2 stalks lemongrass, sliced galangal, and 4 torn makrut lime leaves to a large soup pot.
- Bring the broth to a gentle boil over medium-high heat.
Step 3: Cook the chicken and vegetables
- Add 1 small sliced onion, 2 cups sliced mushrooms, and 1 pound bite-sized chicken to the pot.
- Return the soup to a gentle boil, then reduce the heat as needed to keep it from boiling too aggressively. Cook for 15 to 20 minutes, or until the chicken is completely cooked through and mushrooms are tender.
- If you want more broth, add additional chicken stock or water. I usually add about 2 more cups at this stage.
Step 4: Add the Thai chilies
- Smash 2 to 8 Thai chilies until they split open and you can see the seeds. Add them to the soup and cook for another 2 to 3 minutes.
- For a milder soup, add the chilies near the end. For more heat, add them earlier and let them simmer longer. Those little chilies might look cute, but they are small but mighty, so watch out!
- And if you like spicy, but someone else doesn’t, leave out the chilies and make my Prik Nam Pla, aka Thai Flavor Bomb Sauce, so you can add your chilies to taste!
Step 5: Finish the soup
- Turn off the heat. Stir in 1 (13.5-ounce) can coconut milk, 3 tbsp fish sauce, juice of 3 limes, and 1 tbsp palm sugar or brown sugar.
- Taste and add more fish sauce, lime juice or sugar as needed.
- I like my Tom Kha Gai sour first, followed by light salty and sweet flavors. Trust your taste buds and keep adjusting until all the flavors sing together!
Step 6: Garnish and serve
- Sprinkle a handful of fresh cilantro leaves over each serving of the soup.
- Serve warm with jasmine rice and enjoy every creamy, tangy, spicy spoonful!
Notes
Additions and Substitutions
Chicken substitute: Shrimp, thinly sliced pork, beef, tofu, or mixed vegetables
Chicken stock substitute: Vegetable, seafood stock, beef broth, or pork broth
Fresh galangal substitute: Dried galangal slices
Makrut lime leaves substitute: ½ tsp lime zest per lime leaf
Thai chili substitute: Serrano peppers or crushed red pepper flakes. Or if you like spicy, but others eating the soup don’t, make my Prik Nam Pla, aka Thai Flavor Bomb sauce to have on the side to add spiciness to taste.
Palm sugar substitute: Light brown sugar or coconut sugar
Fish sauce substitute: 1/2 tbsp soy sauce + 1/2 tbsp vinegar of choice (except balsamic) + a pinch of salt, or coconut aminos
Cilantro substitute: leave it out, or Thai basil
Mushroom options: White button, baby bella, cremini, oyster, or white
Tips for the Best Tom Kha Soup
Use galangal, not ginger. Galangal is what gives this soup its signature earthy, citrusy flavor. Without it, you are making a different coconut soup.
Smash the chilies until you see the seeds. Simply pressing on the outside may not release enough heat. Break them open so their spicy flavor can mingle with the broth. And remember the longer they sit in the soup, the spicier it becomes!
Don’t vigorously boil the coconut milk. Add it after turning off the heat so the broth stays smooth and creamy.
Add the lime juice at the end. Cooking fresh lime juice for too long can dull its bright flavor and sometimes make it bitter.
Remember that Thai herbs are not always meant to be eaten. The lemongrass and galangal flavor the broth, but they can be tough to chew. Eat around them or strain them out before serving.
Choose mild mushrooms. Shiitake mushrooms are delicious, but their strong flavor can compete with the galangal, lemongrass, and lime leaves.
Hey dear! If you make this recipe and love it, would you leave a quick comment and rating? Your reviews help other readers discover the recipes that build connection around the table. Thank you so much!
- Prep Time: 20 minutes
- Cook Time: 30 minutes
- Category: Dinner
- Method: Boiling
- Cuisine: Thai
Nutrition
- Serving Size: 4-5
This post contains links to affiliate websites, such as Amazon, and I receive an affiliate commission for any purchases made by you using these links. I appreciate your support!



Love your pictures!! You make this soup look too good not to eat! 🙂
Thanks Megan! Your tip to read Pinch oF Yum’s Tasty Food Photography book has helped my food photos so much! Thanks again 🙂
Yummy soup.. Love the addition of coconut.. Beautiful clicks
Thanks Nithya! Hope you make it and enjoy it 🙂
It was oh so coconutty and delicious!!! Thanks for bringing it over friend!
It was my pleasure!! So glad you loved it dear 🙂
Dear Sherri, what a nice blog you have! I know it’s been some years since you posted this recipe but I do hope you can help me. I would like to make this soup for 40 people (for my girlfriends birthday) and am wondering how long in advance you can make the soup? Is there anything that should be left to add in it just before serving (apart from the cilantro leaves) or can I just make the soup and then put it in the fridge for some hours?
Thank you in advance 🙂
Great question! Wow, good for you! I hope they love the soup! The soup can be made up to 3 days in advance. If I have time, I love making it at least 2 days before I serve it to let all the flavors mingle, and then warm it on the stove the day of serving. The only ingredient you might want to wait to add until the day of serving are the Thai chili peppers. They will get spicier the longer they sit in the soup. But if you are making it for a big crowd, I’m guessing you wont make it too spicy since you might not be sure if everyone likes spicy. If I’m not sure of the spice tolerance of people, I usually just put in one pepper, or leave out the peppers and have nam plaa prik on the table for those who like spicy to add it to their own soup.
Thank you so much for your answer 🙂 Great idea to have Nam Pla Prik on the table, I have never made it before but it looks easy enough.
Loved this soup and the cooking class! Can’t wait to gather all the ingredients and try it out myself at home. Thanks Thai Foodie!
So glad you enjoyed the class Marta! I loved having you all and hope you enjoy making the soup at home!
This soup is magical! So heartwarming and love the citrusy flavors!