Thailand · Smooth & creamy

Tom kha gai (Thai chicken and coconut soup)

Chicken poached in coconut milk and stock perfumed with galangal, lemongrass and lime leaf, finished with fish sauce and lime. Sour, gently sweet and rich without being heavy.

Prep
15 min
Cook
20 min
Total
35 min
Effort
Easy
Serves
4
Broth richness 6/10
Spice 4/10
Comfort 6/10

Ratings by the Soupmap Culinary Team, not readers.

Gluten-freeDairy-free

A bowl of tom kha gai with coconut broth and herbs.
Photo: Evan Joshua Swigart (TheCulinaryGeek) from Chicago, Illinois, USA; hometown of Ames, Iowa, USA, CC BY 2.0, via Wikimedia Commons

Tom kha gai is named after its star: kha is Thai for galangal, gai means chicken and tom means boiled. It shares lemongrass, lime leaf and chilli with tom yum, but coconut milk makes it rounder and milder: sour and salty with a gentle sweetness, rather than a blaze of heat.

Galangal should lead, so use plenty and slice it thin. The aromatics get 5 minutes in the stock on their own first, at a lively simmer you can't give them once the coconut milk is in. Then the chicken poaches gently in the creamy broth, and the seasoning goes in off the heat so the lime stays bright.

The mistake to avoid is boiling the coconut milk hard. A rolling boil makes it split, leaving an oily, grainy broth; keep it at a gentle simmer and it stays smooth. Like most Thai soups, it's meant to be shared with rice and other dishes. There's more on the tom yum family in our essay.

Ingredients

Method

Prepare

  1. Trim the lemongrass to the bottom 12 cm or so and peel off the tough outer layer. Bash the stalks along their length with the back of a heavy knife and cut them into 4 cm lengths.

  2. Tear the lime leaves into pieces, pulling out the tough central rib. Slice the chicken across the grain into thin, bite-sized pieces about 5 mm thick, so it cooks quickly and evenly.

Cook

  1. Bring the stock to a boil in a saucepan over high heat. Add the galangal, lemongrass and lime leaves, lower the heat to medium and simmer until very fragrant, 5 minutes.

  2. Shake the can, then stir in the coconut milk and bring it back to a gentle simmer over medium heat, with small bubbles around the edge rather than a rolling boil.

  3. Add the chicken, stirring to separate the pieces, and poach at a gentle simmer until cooked through with no pink in the middle, 6–8 minutes. Add the mushrooms for the last 3 minutes.

Season and serve

  1. Turn off the heat. Stir in the palm sugar, the chillies, about two-thirds of the fish sauce and most of the lime juice.

  2. Taste: it should be sour and salty first, then creamy and faintly sweet. Add more fish sauce or lime juice until it's right.

  3. Scatter with coriander and serve straight away with rice. Leave the galangal, lemongrass and lime leaves in the bowl, but don't eat them.

Swaps

Cooking for coeliac disease or an allergy? Check every label: the notes below say which ones matter.

Gluten-free

  • Already gluten-free as written, as long as the fish sauce and chicken stock are labelled gluten-free (some fish sauces contain wheat).
  • In the variations, light soy sauce contains wheat, so use tamari labelled gluten-free, and check the label on nam prik pao.

Plant-based

  • Make tom kha het (see Variations): vegetable stock, 400 g mixed mushrooms and 200 g cubed firm tofu, seasoned with salt or tamari labelled gluten-free instead of fish sauce. Leave out the nam prik pao, which usually contains dried shrimp; everything else is already vegan.
  • Without fish sauce it's less deeply savoury, so season boldly and lean a little harder on the lime. It's a recognised version in its own right, not a compromise.

High-protein

  • More chicken: use 600 g thighs instead of 400 g: about 9 g more protein per bowl. They still cook in 6–8 minutes if sliced thinly.
  • Prawns too: add 200 g peeled raw prawns with the mushrooms and cook until pink and opaque all the way through, 2–3 minutes: about 9 g more per bowl.
  • Tofu: add 200 g cubed firm tofu with the mushrooms: about 7 g more per bowl.

Tips

  • Be generous with galangal. It's the soup's name and its main flavour. Young galangal doesn't need peeling; frozen galangal is a good substitute for fresh. Ginger is warmer and sweeter and makes a nice soup, but not tom kha.
  • Simmer, don't boil. Once the coconut milk is in, keep the heat at small bubbles around the edge. Hard boiling breaks the emulsion, and the fat separates into an oily, slightly grainy layer.
  • Choose thighs. Thigh meat stays tender in the hot broth; breast dries out quickly. If you use breast, slice it thinly and check it after 5 minutes.
  • Use full-fat coconut milk. Light coconut milk gives a thin, watery soup. Shake the can before opening so the cream and liquid are evenly mixed.
  • Season off the heat. The lime stays fresh and floral, and you can taste the balance properly as you go.

Make ahead and storage

  • The aromatic stock (step 3) can be made up to 2 days ahead and kept in the fridge; finish the soup when you're ready to eat.
  • Refrigerate leftovers within 2 hours and eat within 3 days. Reheat gently until steaming hot all the way through, without letting it boil hard, and freshen with a squeeze of lime.
  • Freezing tends to make the coconut milk grainy, so I wouldn't.

Variations

  • Prawns (tom kha goong): use 400 g peeled raw prawns instead of chicken and cook them until pink and opaque all the way through, 2 minutes.
  • Mushroom (tom kha het): use vegetable stock, 400 g mixed mushrooms and some cubed firm tofu, and season with salt or light soy sauce instead of fish sauce. Light soy sauce contains wheat, so use tamari labelled gluten-free if you need it.
  • A touch of red: stir 1 tbsp nam prik pao (Thai roasted chilli paste, smoky and sweet) into the soup with the seasoning for colour and depth. Check the label if you need it gluten-free.

Reviews & cooks' tips

Reviews and tips from people who've cooked this appear here.