Thai Soup at Home: A Practical Tom Kha Gai Recipe

Updated November 3, 2026

Total time
50 min
prep 25 min · cook 25 min
Serves
4
portions as written

Jump to recipe

Thai Soup at Home: A Practical Tom Kha Gai Recipe

Tom kha gai is a Thai coconut chicken soup made with chicken, mushrooms, coconut milk, herbs and a bright finish of lime and fish sauce. Serve it hot as a light meal with jasmine rice or as one dish in a larger meal; versions vary by household, including how spicy, sour or rich the broth is.

Ingredients

  • 1 lb (454 g) boneless, skinless chicken thighs or breasts, thinly sliced
  • 4 cups (950 ml) low-sodium chicken broth
  • 1 can coconut milk, 13.5 fl oz (400 ml), well shaken
  • 8 oz (225 g) mushrooms, such as oyster or button mushrooms, sliced
  • 2 oz (55 g) fresh galangal, cut into thin coins
  • 2 lemongrass stalks, trimmed, bruised with the back of a knife and cut into 3-inch (7.5 cm) pieces
  • 6 makrut lime leaves, torn once to release their aroma
  • 2 Thai bird’s-eye chilies, lightly crushed, or 1 jalapeño, sliced; adjust to taste
  • 2 tbsp (30 ml) fish sauce, plus more to taste
  • 2 tbsp (30 ml) fresh lime juice, plus more to taste
  • 1 tsp (4 g) granulated sugar
  • 2 tbsp (8 g) chopped fresh cilantro, for serving
  • 2 tbsp (8 g) sliced scallions, for serving
  • Steamed jasmine rice, optional, for serving

What You’ll Need

  • A medium or large heavy-bottomed pot, about 4 qt (3.8 L) or larger
  • A sharp knife and cutting board
  • A ladle and a small spoon for tasting
  • An instant-read food thermometer to check the chicken

Galangal, lemongrass and makrut lime leaves give tom kha its characteristic citrusy, peppery fragrance. They are often available at Asian grocery stores, and some are sold frozen. If galangal is unavailable, use the same amount of fresh ginger; it makes the soup warmer and less piney, so the flavor will not be identical. For lemongrass, use a tablespoon (about 6 g) of finely grated lemon zest as a last-resort substitute, added near the end. Lime zest can stand in for makrut leaves, though it lacks their floral aroma. Fish sauce supplies salt and savory depth; use a labeled vegan fish-sauce alternative or light soy sauce for a meat-free version, knowing the result will taste different.

Step-by-Step

  1. Prepare the aromatics and chicken. Slice the chicken across the grain into pieces about ¼ inch (6 mm) thick so they cook quickly and evenly. Wipe the mushrooms clean and slice them. Trim and bruise the lemongrass, cut it into pieces, slice the galangal, and tear the lime leaves. Bruising the lemongrass helps release its aroma into the broth. Keep the herbs in large pieces: they perfume the soup but are usually set aside rather than eaten. Wash your hands, knife and board after handling raw chicken.
  2. Build the fragrant broth. Add the chicken broth, galangal, lemongrass, makrut lime leaves and crushed chilies to the pot. Set it over medium-high heat and bring it to a gentle simmer, which should take about 5 minutes. Avoid a hard rolling boil, which can make the broth evaporate quickly and can break up the aromatics. Once small bubbles rise steadily around the edges, lower the heat and simmer for 10 minutes to infuse the liquid.
  3. Add coconut milk and mushrooms. Pour in the coconut milk and add the sliced mushrooms. Stir gently and bring the soup back to a gentle simmer over medium heat, about 3 minutes. Do not let it boil vigorously: high heat can cause coconut milk to separate into oily flecks. A slight change in texture is not a safety issue, but a gentle simmer makes the broth look smoother.
  4. Cook the chicken through. Add the sliced chicken in an even layer and stir so the pieces are submerged. Simmer gently for about 5 minutes, stirring once or twice, until the thickest pieces reach 165°F (74°C) on an instant-read thermometer. This is the USDA FSIS safe minimum internal temperature for poultry. Check a few pieces if their thickness varies; color alone is not a reliable temperature test. If the chicken is not yet at temperature, continue simmering and check again after a minute.
  5. Season and balance the soup. Turn off the heat. Stir in the fish sauce, lime juice and sugar. Taste a spoonful after it cools slightly. Add fish sauce for salt and savory flavor, lime juice for sourness, or a pinch more sugar if the lime and fish sauce feel too sharp. Add these ingredients gradually; a little adjustment can change the balance noticeably.
  6. Serve while hot. Ladle the soup into bowls and top with cilantro and scallions. You can remove the lemongrass, galangal and lime leaves before serving, or leave them in the pot as a visual cue and tell diners not to eat them. Offer extra lime wedges, fish sauce and sliced chili at the table. Serve on its own or with steamed jasmine rice, which is useful for soaking up the coconut broth.

Common Mistakes

Boiling the coconut milk hard. A vigorous boil may make the coconut fat separate and can give the broth a grainy or oily appearance. Keep the pot at a quiet simmer once the coconut milk goes in. If the surface starts bubbling rapidly, lower the heat and stir gently.

Adding lime juice too early. Lime tastes fresher when added after cooking. Prolonged heating dulls its aroma and can make the soup seem less bright. Take the pot off the heat first, then add the juice and adjust after tasting.

Using too much chili at the start. Thai bird’s-eye chilies vary in heat, and a crushed chili releases more spice than a whole one. Begin with one or two, then let diners add more at the table. Removing a chili later will not remove all the heat it has already released.

Eating the woody aromatics. Galangal, lemongrass and makrut lime leaves are included to flavor the broth, not because they soften like ordinary vegetables. Keep them in large pieces so they are easy to spot and move aside. Finely chopping them can leave tough or fibrous bits in every spoonful.

Seasoning without tasting. Broth brands differ in saltiness, and fish sauce is salty too. Adding the full amount of fish sauce before tasting can make a low-sodium recipe unexpectedly salty. Begin with the stated quantity, taste, and add more in small increments.

Tips

For the most tender result, choose boneless chicken thighs; their higher fat content makes them forgiving if the soup simmers a little longer. Breasts work well too, especially when sliced evenly and added only after the broth is hot. Either way, use a thermometer rather than relying on a set cooking time, since slice thickness and stove heat vary.

Cut the chicken and mushrooms to similar sizes so each spoonful is easy to eat. If preparing ingredients ahead, keep raw chicken covered in the refrigerator and separate from ready-to-eat garnishes. You can measure the fish sauce, sugar and lime juice in advance, but wait to add the lime until the pot is off the heat.

Adjust the soup in a simple order: first decide whether it needs more salt, sourness or heat, then change one thing at a time and taste again. Fish sauce adds savory salt, lime adds sharpness, and chili adds heat. A small pinch of sugar can round off a very sharp edge, but the soup should not taste sweet. If you want a richer broth, stir in a little extra coconut milk; if it feels heavy, add a splash of hot broth or water.

For a vegetarian adaptation, use vegetable broth, mushrooms and tofu instead of chicken, and replace fish sauce with a vegan alternative or light soy sauce. Add cubed firm tofu near the end and heat it until steaming. This makes a tasty coconut soup inspired by tom kha, though it will not have the same flavor as the chicken-and-fish-sauce version. Check that the broth and sauces match your dietary needs.

Tom kha is often served with rice, but you can also serve it as a first course in smaller bowls. Keep the garnishes separate if people have different preferences for herbs, lime or chili. For a milder pot, leave the chilies whole during the infusion or omit them and offer sliced chili on the side.

Troubleshooting

The soup tastes flat. First add a little fish sauce, then taste again. If it is savory enough but still dull, add lime juice a teaspoon (5 ml) at a time. A flat soup often needs acidity rather than more salt. Make each change separately so you do not overshoot.

The broth is too salty. Stir in a little hot water or unsalted broth, then taste. If the extra liquid makes the soup too thin, add a splash of coconut milk. Avoid trying to correct saltiness with a large amount of sugar; it can make the broth sweet without fixing its balance.

The soup is too spicy. Remove any visible chilies and dilute the pot with a little broth or coconut milk. Serve with rice and avoid adding more chili oil or fresh chilies. The heat may remain in the broth, so dilution is more effective than simply fishing out the pieces.

The coconut milk looks separated. Lower the heat and stir gently. A few oily droplets can occur, especially with some coconut milks; the soup is still usable. Do not whisk vigorously or bring it back to a rolling boil. Next time, add the coconut milk after the herb infusion and keep the soup at a gentle simmer.

The chicken is not at a safe temperature. Keep the soup simmering gently and check the thickest piece again with a clean thermometer. Do not serve poultry until it reaches 165°F (74°C). If the chicken has become tough while waiting, check that the slices are not too thick and avoid boiling the soup hard as it finishes.

The leftovers seem too thick. Coconut broth firms as it cools. Reheat it gently with a splash of water or broth, stirring as it loosens. Refrigerate leftovers within 2 hours in a covered container and use within 3–4 days. Reheat leftovers to 165°F (74°C), checking with a food thermometer; do not leave soup sitting at room temperature for an extended period.

Frequently Asked Questions

Is tom kha gai the same as tom yum?
They are different Thai soups. Tom kha gai is characterized by coconut milk and chicken, while tom yum is typically a clearer, sharper broth and does not rely on coconut milk. Recipes and regional versions vary, but the coconut-rich broth is the defining feature of this tom kha-style recipe.

Can I make Thai soup without galangal?
Yes. Fresh ginger is the most practical substitute, used in the same quantity. It has a warmer, more familiar ginger flavor and lacks galangal’s distinctive citrusy, peppery notes, so the soup will be inspired by tom kha rather than identical in flavor.

Can I make it ahead?
You can prepare and refrigerate the soup for up to 3–4 days, but the lime aroma is brightest when added just before serving. For the best texture, you can also cook the broth with the aromatics ahead, chill it promptly, then reheat it and cook the chicken to 165°F (74°C) when ready to serve.

Can I freeze tom kha gai?
It can be frozen in a freezer-safe container, though coconut milk may separate when thawed. Cool and refrigerate or freeze it within 2 hours, thaw in the refrigerator, and reheat gently to 165°F (74°C). Stir as it warms; the texture may be less smooth than freshly made soup.

Do I have to remove the galangal and lemongrass?
No, but they are woody and difficult to chew. Leave them in large pieces and move them aside while eating, or strain them out before serving. Do not finely chop the lemongrass or galangal unless you intend to eat the fibrous pieces.

What can I use instead of fish sauce?
For a vegetarian or fish-free version, use a vegan fish-sauce alternative or light soy sauce, starting with a smaller amount and tasting as you go. Soy sauce will add salt and savory flavor but not the same fermented seafood character, so adjust lime and seasoning to suit the broth.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).