From simmering the coconut milk to preparing the Thai aromatics, this tom kha gai recipe will keep you on your toes. But the bright and creamy broth is worth the effort!

Tom Kha Gai

I’ve always seen myself as an experienced soup maker, especially in the realm of Thai cuisine. Then it struck me one day: I had never made tom kha gai in my own kitchen. My parents owned a Thai restaurant, so I had made this soup in a fast-paced environment, under pressure. But I had never made a small batch of tom kha gai at home.
With this recipe, you’ll be able to make tom kha gai soup at your own pace, in the comfort of your own home. This aromatic coconut soup with chicken is surprisingly simple, and it’s well worth it to hunt down the Thai ingredients.
Ingredients for Tom Kha Gai
Thai food is known for being aromatic, spicy, fragrant and earthy. Do your best to source these Thai ingredients, that way you have them on hand whenever you feel like cooking Thai food. Search around your city to see if there’s a Southeast Asian market, or you could even call a Thai restaurant and ask for suggestions as to where to source these ingredients locally. And of course, you can find these items online, too.
- Coconut milk: Coconut milk is a staple in my home and in many Thai homes. Use pure coconut milk and not coconut cream or cream of coconut for this broth. Since tom kha gai is silky and light, use boxed or fresh coconut milk if you can find it (canned milk tend to separate). Look for coconut milk that is meant for cooking, and not for beverages.
- Chicken stock: You can use chicken stock or broth, but stock is richer and has a much deeper flavor than broth.
- Chicken: Chicken thighs are one of the most tender parts of the bird. Buy skinless, boneless chicken thighs for easier cutting.
- Coconut sugar: If you can’t find coconut sugar, you can use turbinado or brown sugar as a substitute. I wouldn’t recommend opting out of sweeteners altogether because there should be a delicate balance between the sourness and earthy notes of all the other ingredients.
- Fish sauce: Fish sauce is a shelf-stable, filtered liquid made from fermented fish or krill, so it comes out brown, clear and salty. I’m an avid user of Viêt Húóng Three Crabs and Squid-brand fish sauce.
- Galangal: Galangal is a rhizome (like ginger) that’s super bright, yet offers a mellow spicy and woodsy flavor. If you can’t source fresh galangal, opt for the sliced, dried root rather than the powder, as the dried slices are better for simmering in a broth. If galangal is unavailable, fresh gingerroot is second best.
- Lemongrass: This aromatic grass has a citrusy undertone. Its woody leaves can be tough to cut, so have a sharp knife handy. Use the bottom half of where the root would be and slice long diagonal pieces to get the most flavor.
- Makrut leaves: Also known as kaffir lime leaves, market leaves hold a lot of the fragrance needed to really brighten up this tom kha gai recipe. If you can’t source it fresh, makrut leaves are often sold frozen or dried at markets. A squeeze of lime juice and bit of zest will do if you can’t find makrut leaves.
- Thai or bird’s eye chilis: While these chilis are small, they can pack an absurdly spicy punch. It’s an ingredient that can be substituted with another fresh chili pepper, such as jalapeno, serrano or habanero. Be careful with the amount you use and wear food-safe gloves when handling any pepper if you’re not used to the heat.
- Cilantro: Herbaceous and bright, cilantro enlivens the soup with its refreshing and earthy flavors.
- Vegetables: From onions and bell peppers to cherry tomatoes, tom kha gai has no shortage of fresh, flavorful vegetables.
- Enoki or oyster mushrooms: These fungi hold up particularly well to cooking, and add a soft, chew texture to the soup.
- Chili oil: For those who love spice, drizzle spicy chili crisp on your bowl of soup.
Directions
Step 1: Simmer the base ingredients
In a large stock pot, bring 1 cup of coconut milk to a simmer over low heat. Add 1 cup of stock, and the chicken, ginger or galangal, and lemongrass. Simmer over low heat for five to six minutes.
Editor’s Tip: Before adding your sliced lemongrass and galangal, give them a bit of a bang with a mallet or pestle to help release the aromatics of the ingredients.
Step 2: Stir in more coconut milk and add the veggies
Add another 1 cup of coconut milk. Stir in the coconut sugar, salt, makrut or kaffir lime leaves, cilantro stems and Thai chiles and bring the mixture to a simmer.
Stir in the onion and bell peppers.Bring the soup to a simmer over low heat and cook until the vegetables are crisp-tender, five to six minutes. Remove the ginger or galangal, lemongrass and cilantro stems and discard them.
Step 3: Add the remaining ingredients
Stir in the remaining 1 cup of coconut milk, the remaining 1 cup of chicken stock, the tomatoes, mushrooms, cilantro leaves, lime juice and fish sauce, and bring the soup to a simmer over low heat. Cook until the tomatoes are soft, five to six minutes.
Step 4: Serve the tom kha gai
Serve tom kha gai soup in bowls with jasmine rice and lime wedges. Let everyone drizzle their soup with their desired amount of hot chili oil.
Tom Kha Gai Variations
- Use a different kind of meat: You don’t have to stick with chicken; treat yourself to a seafood variety by adding prawns, mussels and clams.
- Make vegan tom kha gai: If you are vegan or vegetarian, add tofu to your tom kha gai. Add the same amount of tofu as you would chicken. Use vegetable broth instead of chicken broth and a plant-based fish sauce or soy sauce.
How to Store Tom Kha Gai
To store tom kha gai, let your soup cool completely to room temperature. Transfer the soup to an airtight container and keep it in the refrigerator for up to four days. Reheat the soup slowly in a saucepan over medium-low heat until it’s warmed through.
Can you freeze tom kha gai?
Yes, you can freeze tom kha gai. Once the soup has cooled to room temperature, transfer the soup to freezer-safe containers leaving at least an inch of headspace for expansion. It can be stored in the freezer for up to four months. Thaw the soup overnight in the fridge before reheating it.
Tom Kha Gai Tips
How should I serve tom kha gai?
Tom kha gai is served as a family meal, so it’s meant for sharing. Have your soup bowls, soup spoons and ladle ready to serve this to others. Though many Thai restaurants serve tom kha gai soup in a shabu dish, it’s not necessary to have one when eating at home. Tom kha gai is traditionally served over steamed jasmine rice, but you can have fun serving it over rice noodles, too.
The toppings served with tom kha gai soup vary, but a bundle of cilantro leaves, wedges of lime, extra fish sauce and basic chili oil are standard options. Every individual should add their own garnishes as they please.
Keep in mind that not every Thai home, restaurant or street food vendor makes Thai dishes exactly the same way. I’ve just given you a range of ingredients to make this recipe to your personal taste.
How do you prevent coconut milk from curdling?
Just like cow’s milk, coconut milk can curdle or be overcooked. Always cook it on a medium to low simmer, and don’t let it come to a full boil. And, as I’ve learned over the years, stir it in one direction—and gently.
What is the difference between tom yum and tom kha gai?
The difference between tom yum and tom kha gai is their soup bases. Tom yum has a tomato base that’s much spicier, whereas tom kha gai has a coconut milk base that’s slightly sweeter and much richer.
Tom Kha Gai
Ingredients
- 3 cups coconut milk, divided
- 2 cups unsalted chicken stock, divided
- 1-1/2 pounds boneless skinless chicken thighs, cut into 1-inch cubes
- 1 piece fresh gingerroot or galangal (1-in.), peeled and thinly sliced
- 1 piece fresh lemongrass (1-in.), thinly sliced
- 3 tablespoons coconut sugar
- 1/2 teaspoon salt
- 3 makrut leaves or kaffir lime leaves, torn
- 1 bunch fresh cilantro, stems and leaves separated, divided
- 2 dried Thai chiles, stemmed and quartered
- 1 medium onion, thinly sliced
- 1 medium sweet red pepper, seeded and thinly sliced
- 1 medium sweet orange pepper, seeded and thinly sliced
- 5 cherry tomatoes
- 1/4 pound fresh enoki or oyster mushrooms
- 2 tablespoons lime juice
- 1 tablespoon fish sauce
- 2 cups cooked jasmine rice
- 2 medium limes, cut into wedges
- 1 tablespoon hot chili oil
Directions
- In a large stock pot, bring 1 cup coconut milk to a simmer over low heat. Add 1 cup stock, chicken, ginger or galangal and lemongrass. Simmer over low heat 5-6 minutes. Add another 1 cup coconut milk. Stir in sugar, salt, makrut or kaffir lime leaves, cilantro stems and Thai chiles; bring to a simmer.
- Stir in onion and bell peppers; bring to a simmer over low heat and cook until vegetables are crisp-tender, 5-6 minutes. Remove ginger or galangal, lemongrass and cilantro stems; discard. Stir in remaining 1 cup coconut milk, remaining 1 cup stock, tomatoes, mushrooms, cilantro leaves, lime juice and fish sauce; bring to a simmer over low heat. Cook until tomatoes are soft, 5-6 minutes.
- Serve in bowls with Jasmine rice and lime wedges; drizzle with hot chili oil to serve.
Nutrition Facts
1 serving: 502 calories, 29g fat (21g saturated fat), 76mg cholesterol, 565mg sodium, 32g carbohydrate (11g sugars, 3g fiber), 28g protein.