Creamy, spicy, and slightly sour, this homemade Tom Kha Gai Soup tastes like it came from your favorite Thai restaurant! A comforting coconut milk broth is flavored with rich aromatics like lemongrass, galangal (similar to ginger), kaffir lime leaves, shallots, fish sauce, and fresh lime juice.
You might have to visit your local Asian grocery store to pick up a few ingredients, but overall this is a fast and easy soup recipe that’s perfect for chilly evenings!
“This was so absolutely amazing! First time making this at home and just wow! I froze the lime leaves and lemongrass to use for next time since I made a special trip to buy.” – Vivian, So Much Food reader
Table of contents

This Might Just Be My Favorite Soup EVER
Tom kha gai (thai coconut chicken soup) is probably one of my favorite soups of all time. It’s the perfect blend of all the things I like: spice, creaminess, tart acid, savory flavor, and texture.
Never tried tom kha gai before? It’s a traditional soup in Thai cooking that’s considered a ‘hot and sour’ soup (mostly from the fresh lime juice) with a base of broth and coconut milk. You will usually find a mixture of chicken and mushrooms in the soup, but also shrimp like in this easy recipe.
The trick to making this soup taste phenomenal is to use the right ingredients. Chances are you’ll need to head to your local Asian market or well-stocked grocery store for some of the ingredients. Substitutions can make a good soup, but to really make this the best soup you’ll need the traditional ingredients.
What’s the difference between Tom Kha and Tom Yum soup?
Both of these beloved Thai soups are similarly aromatic, but Tom Yum is broth based and quite spicy! Tom Kha Gai is a little milder and I absolutely love the creaminess that the coconut milk adds.
Both are delicious in their own right, you should give each one a try! Both are perfect soups for cold weather and if you’re feeling a cold coming on!

Tools Needed
The Key Ingredients (+ Substitutions)
Here is a list of the notable ingredients in this soup, plus a brief description and a link (if possible) of where to buy them! Just click the title of each ingredient.
- Coconut Milk. Coconut milk is made by extracting the liquid from the grated meat of mature coconuts. My favorite brands are Aroy-D and Chaokoh coconut milk. You can find them at any Asian market, as well as Whole Foods, Sprouts, some well-stocked HEBs (if you’re in Texas), and Amazon. I don’t recommend that you use refrigerated coconut milk that is meant to be a milk replacement; instead, look for the canned, full-fat coconut milk in the Asian aisle at your local grocery store.
- Galangal. Galangal is similar to ginger, but it has thinner skin, and a richer, spicier flavor. You will find this in the fresh produce section of your local Asian market. You can substitute fresh ginger in a pinch, if necessary.
- Lemongrass. Lemongrass is a super fragrant aromatic that comes in the form of a large stalk. You can also find this in the fresh produce section of your local Asian market, whole foods, or some well-stocked grocery stores. I tend to buy a lot when I find it and freeze it for later use.
- Makrut Lime leaves. These are leaves from the makrut (kaffir) lime tree and they have a spicy, and fragrant lime flavor. I tend to find them in the fresh produce section of your local Asian market or well-stocked grocery store. I also buy these in bulk and freeze them when I find them.
- Fish Sauce. Fish sauce is made from fish or krill that have been coated in salt and fermented for 2 years. I love the salty/umami flavor that fish sauce adds to this dish without tasting “fishy.” I have found fish at most well-stocked grocery stores including Trader Joe’s, HEB, Whole Foods, Sprouts, etc.
- Red Curry Paste. This is a paste made of red chilies, dried shrimp (it doesn’t taste fishy!), lemongrass, galangal, kaffir limes, garlic, etc. It’s so flavorful and adds tons to curries, soups, and marinades. My favorite brand is Mae Ploy!
- Palm Sugar. Palm sugar is a natural sweetener derived from varieties of palm trees. I love the subtle sweetness it adds to the soup. You can find it at most Asian markets or on amazon. The closest substitute would be coconut sugar, and brown sugar would work in a pinch.

How to Prepare Tom Kha Gai Soup
- I start with a dutch oven or pot that can hold at least 4 quarts. First, heat up a bit of neutral oil in the pot and add sliced shallots, chopped lemongrass, and the sliced galangal over medium-low heat.
- Then, sauté the aromatics for a couple of minutes until the shallot is a little softened.
- Then, add the curry paste to the pot and cook it for a couple of minutes, stirring often.
- Next, add the kaffir lime leaves and the chicken broth and bring it to a simmer for 20 minutes.
- Once the broth has reduced a little, use a slotted spoon to fish out the galangal, lemongrass and lime leaves. At this point, I add the chicken, fish sauce, palm sugar, and coconut milk and simmer until the chicken is cooked through.
- Then, I add the mushrooms and shrimp, season the soup with salt, add fresh lime juice and cilantro, and it’s ready to go!
Jenny’s Tip: I always add a little chili oil to the soup to make it spicy, but it’s totally up to you!

If you do give this recipe a try, I love hearing about it! Leave a comment with a star rating below. Be sure to subscribe to my weekly newsletter and never miss a new recipe! You can also snap a photo & tag @JENNYGOYCOCHEA on Instagram.
More Thai-Inspired Recipes to Try
- Thai Basil Chicken
- Thai Green Curry Meatballs
- Thai Red Pumpkin Curry
- Thai Panang Curry with Pork
- Thai Beef and Noodle Salad (Yum Nua)
- Thai Basil Chicken Wonton Soup
This post may contain affiliate links from which I receive a small commission at no additional cost to you. Affiliate links allow me to keep providing great recipes for free and I never recommend products that I don’t love and personally own.

Tom Kha Gai Soup Recipe
Ingredients
- 1 tablespoon neutral oil
- 2 shallots , peeled and thinly sliced
- 2 ” galangal root , sliced
- 1 lemongrass stalk , chopped
- 5 large kaffir lime leaves
- 2 rounded tablespoons red curry paste
- 7 cups chicken stock (homemade is best)
- 4 boneless skinless chicken breasts , thinly sliced
- 2 1/2 cups full-fat coconut milk
- 1 1/2 tablespoons fish sauce
- 2 oz palm sugar (or sub coconut sugar or brown sugar)
- 8 oz cremini mushrooms , quartered
- 3/4 lb raw medium shrimp peeled, tails removed, and deveined (optional)
- 1/3 cup heavy cream (optional)
- fresh lime juice
- salt to taste
- chopped cilantro
- chili oil (optional)
Instructions
- In a 4 quart heavy bottomed pot, add the oil and turn the heat to medium. Once the oil is warm, add the shallots, lemongrass, and galangal, and cook for 2- 3 minutes, until the shallots start to soften. Add the kaffir lime leaves and curry paste and cook for 2 minutes, until the curry paste is fragrant. Add the chicken broth and bring to a simmer for 20 minutes.
- Once the chicken broth has reduced by a bit, use a slotted spoon to remove the galangal, lemongrass and kaffir lime leaves. Add the chicken, coconut milk, heavy cream, palm sugar, and fish sauce and bring to a gentle simmer.
- After about 20 minutes, the chicken should be cooked through. At this stage, the mushrooms can be added directly to the soup but I actually like to sauté them in a cast iron with a little oil first to brown them, it’s entirely up to you! If you’re using shrimp, add them in with the mushrooms and simmer for another 4-5 minutes. Season the soup to taste with salt and lime juice (I personally like lots of lime juice).
- Ladle the soup into bowls, topped with chopped cilantro and chili oil, if desired.
Rate & Review This Recipe
I can’t wait to make this! It’s so much easier than I imagined, and I am so thankful you’ve broken down all of the ingredients for me. You da best!
I hope you love it!
Thank you for this recipe. This is one of my favorite soups to order eating out and can’t wait to try it at home.
Is this a soup that can be frozen into individual servings for quick meals, or do you recommend only enjoying it fresh?
I hope you love making it, it’s honestly my favorite too!
As for freezing, I have never personally tried it. It may turn the coconut milk a little funky when it defrosts. That being said, it will last in the fridge for at least 7 days!
This was so absolutely amazing! First time making this at home and just wow! I froze the lime leaves and lemongrass to use for next time since I made a special trip to buy.Hopefully can use again.:) Thanks so much for all your great recipes Jenny!
Yay! Thank you so much for making it, I’m glad you loved it. I also freeze my lime leaves and lemongrass for future use so you’ll be fine!
Excellent and easy. I did not have galangal so I used ginger root. And I added rice noodles to make it more substantial.
[…] Congee with Pork Belly Tom Kha Gai Soup Instant Pot Chili Mac Miso Ginger Chicken Udon […]
[…] Get the recipe […]
[…] can cut it into inch-long sections and smash the pieces to add to sauces or soups. Try this with my Tom Kha Gai soup! In this instance, I added chopped pieces of lemongrass to the blender with the marinade […]
Just finished making it and it was amazing! Substituted a few things and still came out delicious! Thank you for the recipe!
Love it! It’s definitely one of my favorite soups ever.
[…] Tom Kha Gai Soup (Thai Coconut Soup) […]
This is by far is my new favorite soup! The perfect balance of sweet and spicy! I added white fish and topped with cilantro, sliced green onions and a drizzle of hot sesame oil. I think I might add sliced carrots next time just for fun, but this is perfect just the way it is too! Thank you so much!
Natalie,
So happy you love the recipe! Love your additions, so good!