Tom Kha Gai Coconut Chicken Soup

A classic Thai coconut chicken soup — tender chicken thigh pieces and mushrooms in a creamy, pale ivory broth infused with lemongrass, galangal and kaffir lime leaves, balanced with fish sauce and lime and finished with cilantro and red chilli, the key being a broth that stays smooth, aromatic and pourable. Infusing large, bruised pieces of lemongrass, galangal and lime leaf in stock and half the coconut milk at a gentle simmer, rather than boiling everything together hard, is the technique this whole soup depends on for its clean, perfumed depth — a rolling boil clouds the broth and splits the coconut milk before the aromatics have properly released their oils, the same infuse-gently-first principle used elsewhere in this collection whenever whole aromatics carry most of a broth’s flavour. Poaching thigh meat for just 6–8 minutes is what keeps every piece tender and juicy rather than stringy. Holding back the second half of the coconut milk and adding lime juice only off the heat is what keeps the soup creamy and the citrus genuinely bright. The payoff is a soup with real, layered fragrance — silky coconut broth, juicy chicken and springy mushrooms, savoury and lightly tangy with a gentle chilli edge.

Tom Kha Gai Coconut Chicken Soup showing chicken and mushrooms in a pale ivory coconut broth with cilantro, sliced red chilli and lime wedges, on marble surface

Prep Time : 20 min

Total Time : 45 min

Servings : 4

Prep Time :

20 min

Total Time :

45 min

Servings :

4

Ingredients

For the Soup Base


• 800ml coconut milk, divided


• 600ml chicken stock or water


• 3 stalks lemongrass, trimmed, cut into 5–6cm pieces and bruised


• 40–50g galangal, sliced into thin coins


• 6–8 kaffir lime leaves, lightly bruised


• 3–5 Thai bird’s eye chillies, lightly crushed or slit lengthwise


• 1 small shallot, halved or thickly sliced, optional

For the Chicken and Mushrooms


• 800g boneless skinless chicken thighs, cut into bite-size pieces


• 300–350g straw mushrooms or small button mushrooms, whole, halved or sliced


• 100–120g young bamboo shoots, drained and sliced, optional

For the Seasoning


• 4–5 tbsp fish sauce, to taste


• 4–6 tbsp fresh lime juice, to taste


• 1–2 tsp palm sugar or light brown sugar, optional


• Salt, only if needed

For the Garnish


• 1 small handful fresh cilantro leaves


• 1–2 red chillies, thinly sliced


• Lime wedges, for serving


Directions

  1. Prep the Aromatics
    Trim the 3 lemongrass stalks, peel away the dry outer layers and cut each stalk into 5–6cm pieces. Bruise every piece firmly with the back of a heavy knife until it splits and smells strongly of citrus. Slice the 40–50g galangal into thin coins, lightly tear or bruise the 6–8 kaffir lime leaves, and lightly crush or slit the 3–5 bird’s eye chillies. Halve or thickly slice the shallot if using. Keep every aromatic in large, easy-to-spot pieces rather than mincing it, since none of them is meant to be eaten. That deliberate size is what lets the aromatics release their oils into the broth while staying simple to lift out or eat around at the table.
  2. Prep the Chicken and Mushrooms
    Cut the 800g chicken thighs into even bite-size pieces, roughly 3–4cm, trimming any thick pockets of fat so every piece cooks at the same rate. Clean the 300–350g mushrooms with a damp cloth or a quick rinse and drain them well. Leave small straw or button mushrooms whole or halved, and slice a few for visual variety in the bowl. Drain and slice the bamboo shoots if using. Squeeze the lime juice, pick the cilantro leaves and slice the red chillies for the garnish now. That full preparation matters because once the chicken goes in, the soup moves quickly and leaves genuinely no time to chop.
  3. Infuse the Broth
    Pour the 600ml chicken stock or water into a medium pot and add 400ml of the coconut milk, half the total. Add the bruised lemongrass, galangal coins, kaffir lime leaves, crushed chillies and the shallot if using. Bring to a very gentle simmer over medium heat, about 4–5 minutes, then reduce the heat and let it infuse for 8–10 minutes. Small, lazy bubbles should break at the edges, never a rolling boil. The broth is ready when it smells strongly of lemongrass and lime leaf and tastes clearly perfumed rather than simply milky. That gentle infusion is what draws out the aromatics’ flavour while keeping the broth clean and the coconut milk smooth.
  4. Poach the Chicken
    Add the chicken pieces to the infused broth and stir to separate them. Keep the heat at a gentle simmer and cook for 6–8 minutes, stirring once or twice, until the chicken is just cooked through, opaque at the centre and reaching 74°C / 165°F in the thickest piece. Skim off any grey foam that gathers at the surface with a spoon. If the pot starts to bubble hard, lower the heat straight away. The chicken should feel tender and yield easily when pressed, not firm or rubbery. That short, gentle poach is what keeps the thigh meat genuinely juicy, since a hard boil would tighten it and turn it stringy.
  5. Add the Mushrooms and Coconut Milk
    Add the mushrooms and the bamboo shoots if using. Simmer gently for 3–5 minutes, until the mushrooms are tender but still springy and holding their shape. Pour in the remaining 400ml coconut milk and warm it through over low heat for 1–2 minutes, stirring gently, without letting the soup return to a hard boil. The broth should look creamy, pale ivory and smooth, and it should still pour easily from a ladle rather than coat it thickly like a curry. That gentle second addition is what keeps the coconut milk silky and the colour pale, because strong heat at this point can split it.
  6. Season and Balance
    Season the soup with 4 tbsp fish sauce and 1–2 tsp palm sugar if using, stirring until the sugar dissolves. Taste, then add up to 1 tbsp more fish sauce if it needs more savoury depth, and salt only if it still tastes flat. Turn the heat to low or off and stir in 4 tbsp lime juice. Taste again and add up to 2 tbsp more lime juice if the soup needs more brightness. The broth should taste creamy, aromatic and savoury first, lightly tangy second, and never sugary or harsh. That order — fish sauce, then sugar, then lime last off the heat — is what keeps the citrus fresh and the coconut broth smooth.
  7. Finish and Serve
    Lift out the larger lemongrass and galangal pieces with a slotted spoon as you ladle, or leave a few in each bowl for presentation. Divide the soup among 4 bowls, making sure each one gets a generous share of chicken, mushrooms and broth, about 200g of chicken per bowl. Top each bowl with fresh cilantro leaves and the thinly sliced red chillies, and serve with lime wedges on the side so everyone can sharpen their bowl to taste. Serve immediately, while the broth is hot and the herbs are bright. That quick finish is what keeps the cilantro genuinely fresh and the lime aroma lively in every bowl.

*Notes : 

  • The gentle infusion of the aromatics deserves genuine recognition as the technique most directly responsible for whether this soup tastes perfumed or flat. The recipe’s own instruction to “Keep it at a gentle simmer, not a hard boil” reflects how lemongrass, galangal and lime leaf release their oils steadily at low heat — a rolling boil drives off the volatile aromas and starts to break the coconut milk before the broth has any depth.
  • Keeping the aromatics in large pieces deserves the same attention this technique receives throughout this collection’s other aromatic broths, because it decides how the soup eats. The recipe’s own warning not to “mince the lemongrass or galangal into tiny pieces” explains why the stalks are cut into 5–6cm lengths and bruised instead, since woody, fibrous fragments release no more flavour and are genuinely unpleasant to bite into.
  • Adding the lime juice last deserves genuine respect as the detail most directly responsible for the soup’s bright, clean finish. The recipe’s own rule to “Always add the lime juice near the end, off heat or over very low heat” matters because citrus aroma fades quickly with heat, and lime boiled in coconut milk turns dull and slightly bitter while unsettling the creamy broth.
  • The finished broth consistency deserves attention as a genuine, checkable readiness cue rather than a loose approximation. The recipe’s own target that “tom kha should be creamy but still pourable and soupy, not thick like a curry” means checking that the broth runs freely from a ladle and keeping the heat low after the second coconut milk addition, rather than reducing it toward a heavy sauce.

Why This Recipe Works

This recipe works because it builds flavour slowly and then protects it with gentle heat. Stock and half the coconut milk infuse the bruised lemongrass, galangal, lime leaves and chillies at a low simmer, so the broth becomes genuinely aromatic without clouding or splitting. Chicken thighs poach in that perfumed broth for just 6–8 minutes, staying juicy, and the mushrooms follow late enough to remain springy. The second half of the coconut milk restores creaminess at low heat, and the seasoning moves from fish sauce to sugar to lime off the heat, so the soup finishes silky, savoury and brightly tangy.


Ingredient Breakdown

Gentle Aromatic Infusion (8–10 Minutes)

The critical technique — a low simmer draws flavour from lemongrass, galangal and lime leaf without clouding the broth.

Fresh Galangal (Not Ginger)

The defining flavour ingredient — its sharp, piney, citrusy heat gives tom kha its name, which ginger cannot imitate.

Boneless Chicken Thighs

The critical ingredient choice — thigh meat stays genuinely tender through poaching, where leaner breast turns dry far sooner.

Divided Coconut Milk

The structural choice — half builds the infused base, while the reserved half restores fresh creaminess without prolonged heat.

Mushrooms Added Late

The critical timing technique — 3–5 minutes keeps straw or button mushrooms intact and springy rather than soft and collapsed.

Lime Juice Off the Heat

The finishing technique — stirred in last over low heat, the juice brightens the broth without dulling.


Flavor Structure Explained 

This tom kha gai coconut chicken soup follows a layered balance model:

  • Creamy, rich foundation (coconut milk, chicken stock)
  • Perfumed aromatic core (lemongrass, galangal, kaffir lime leaves)
  • Tender, meaty body (chicken thighs, straw or button mushrooms)
  • Savoury, tangy balance (fish sauce, lime juice, palm sugar)
  • Fresh, gentle heat (bird’s eye chillies, red chilli, cilantro)

Coconut milk and stock form the creamy, rich foundation, light enough to stay pourable. Lemongrass, galangal and kaffir lime leaves give it a perfumed aromatic core that reads unmistakably as tom kha. Juicy chicken thighs and springy mushrooms bring tender, meaty body to every spoonful. Fish sauce sets the savoury base, palm sugar rounds it and lime juice adds the tangy lift, while bird’s eye chillies, sliced red chilli and cilantro bring the fresh, gentle heat that ties this tom kha gai together.


Common Mistakes to Avoid 

  • Boiling the Broth Hard – This clouds the soup and can split the coconut milk into a grainy, oily surface. Always keep it at a gentle simmer with small, lazy bubbles.
  • Mincing the Lemongrass and Galangal – This leaves hard, fibrous fragments throughout the soup without adding extra flavour. Always cut them into large, bruised pieces that infuse and can be lifted out.
  • Substituting Ginger for Galangal – This gives a warm, peppery soup that no longer tastes like tom kha. Always use fresh galangal for its sharp, citrusy, piney character.
  • Overcooking the Chicken and Mushrooms – This turns the chicken stringy and the mushrooms soft and collapsed. Always poach the chicken 6–8 minutes and the mushrooms only 3–5 minutes.
  • Boiling the Lime Juice – This dulls the citrus and can turn it faintly bitter while upsetting the coconut broth. Always stir it in last, off the heat or over very low heat.

Variations

Restaurant-Style Version

Add the 100–120g sliced young bamboo shoots with the mushrooms, per the recipe’s own suggestion, for a slightly fuller, more substantial bowl that still keeps the broth light and pourable.

Hotter Version

Crush the bird’s eye chillies more aggressively before infusing, per the recipe’s own note, and stir a few extra sliced red chillies into each bowl for a soup with a much sharper, lingering heat.

Chicken Breast Version

Swap the thighs for 800g boneless chicken breast cut into bite-size pieces and poach for just 5–6 minutes, so the leaner meat cooks through without turning dry or stringy.

Oyster Mushroom Version

Replace the straw or button mushrooms with torn oyster mushrooms added at the same point, for softer, frilly pieces that soak up the coconut broth and give the bowl a more delicate texture.


Storage & Make-Ahead

Choose firm, fresh galangal with smooth, pale skin and plump, green lemongrass stalks, since dried-out aromatics release noticeably less fragrance into the broth and real galangal is what gives tom kha its genuine character.

The infused broth base of stock, half the coconut milk and the aromatics can be made up to a day ahead and refrigerated, then brought back to a gentle simmer before the chicken and mushrooms go in.

Store leftover soup in an airtight container in the fridge for up to 3 days, removing the lemongrass and galangal first so they do not keep pushing the broth toward a woody, bitter edge.

Reheat the soup gently in a covered pan over medium-low heat until steaming throughout, never at a hard boil, since strong heat will split the coconut milk and tighten the already cooked chicken.

Add a fresh squeeze of lime, cilantro and sliced red chilli to each reheated bowl rather than before storing, because the lime loses its brightness overnight and the herbs darken quickly in the hot broth.


Frequently Asked Questions

Why are the lemongrass and galangal left in large pieces?

They are there to infuse the broth, not to be eaten. Large, bruised pieces release their oils just as well as minced ones, but stay easy to lift out instead of leaving hard, woody fragments in every spoonful.

Why is the coconut milk added in two stages?

Half the coconut milk infuses with the stock and aromatics, carrying their flavour. The reserved half goes in at the end over gentle heat, restoring a fresh, creamy richness and pale colour that would fade and risk splitting with longer cooking.

Why are chicken thighs better than breast for tom kha gai?

Thighs carry more fat and connective tissue, so they stay tender and juicy while poaching in the hot broth. Breast meat is much leaner and turns dry and stringy far sooner, especially if the soup is reheated.

Why is the lime juice added only at the very end?

Lime’s fresh citrus aroma comes from volatile compounds that fade quickly with heat. Stirring it in off the heat or over very low heat keeps the soup genuinely bright and stops boiling acid from dulling the flavour or unsettling the coconut milk.

Are there other classic Southeast Asian soup, curry, or noodle dishes worth trying?

Tom Yum Noodle Soup offers another classic Thai soup direction worth exploring. Thai Green Curry Chicken and Khao Soi Chicken Curry Noodles are also worth trying for other rich, aromatic curry directions, and Vietnamese Chicken Pho and Thai Red Curry Shrimp offer other fragrant soup and curry dishes worth exploring.



Nutrition Facts 

( Per Serving )

Calories

~790 kcal

Protein

47 g

Fat

58 g

Carbs

19 g

Calories

~790 kcal

Protein

47 g

Fat

58 g

Carbs

19 g

Related Recipes

Related Recipes


You might also like

You might also like


Tom Kha Gai Coconut Chicken Soup showing chicken and mushrooms in a pale ivory coconut broth with cilantro, sliced red chilli and lime wedges, on marble surface

Tom Kha Gai Coconut Chicken Soup

A classic Thai coconut chicken soup — tender chicken thigh pieces and mushrooms in a creamy, pale ivory broth infused with lemongrass, galangal and kaffir lime leaves, balanced with fish sauce and lime and finished with cilantro and red chilli, the key being a broth that stays smooth, aromatic and pourable. Infusing large, bruised pieces of lemongrass, galangal and lime leaf in stock and half the coconut milk at a gentle simmer, rather than boiling everything together hard, is the technique this whole soup depends on for its clean, perfumed depth — a rolling boil clouds the broth and splits the coconut milk before the aromatics have properly released their oils, the same infuse-gently-first principle used elsewhere in this collection whenever whole aromatics carry most of a broth's flavour. Poaching thigh meat for just 6–8 minutes is what keeps every piece tender and juicy rather than stringy. Holding back the second half of the coconut milk and adding lime juice only off the heat is what keeps the soup creamy and the citrus genuinely bright. The payoff is a soup with real, layered fragrance — silky coconut broth, juicy chicken and springy mushrooms, savoury and lightly tangy with a gentle chilli edge.
Prep Time 20 minutes
Cook Time 25 minutes
Total Time 45 minutes
Servings: 4
Course: Main Course
Cuisine: Thai
Calories: 790

Ingredients
  

For the Soup Base
  • 800 ml coconut milk divided
  • 600 ml chicken stock or water
  • 3 stalks lemongrass trimmed, cut into 5–6cm pieces and bruised
  • 40–50 g galangal sliced into thin coins
  • 6–8 kaffir lime leaves lightly bruised
  • 3–5 Thai bird's eye chillies lightly crushed or slit lengthwise
  • 1 small shallot halved or thickly sliced, optional
For the Chicken and Mushrooms
  • 800 g boneless skinless chicken thighs cut into bite-size pieces
  • 300–350 g straw mushrooms or small button mushrooms whole, halved or sliced
  • 100–120 g young bamboo shoots drained and sliced, optional
For the Seasoning
  • 4–5 tbsp fish sauce to taste
  • 4–6 tbsp fresh lime juice to taste
  • 1–2 tsp palm sugar or light brown sugar optional
  • Salt only if needed
For the Garnish
  • 1 small handful fresh cilantro leaves
  • 1–2 red chillies thinly sliced
  • Lime wedges for serving

Method
 

Prep the Aromatics
  1. Trim the 3 lemongrass stalks, peel away the dry outer layers and cut each stalk into 5–6cm pieces. Bruise every piece firmly with the back of a heavy knife until it splits and smells strongly of citrus. Slice the 40–50g galangal into thin coins, lightly tear or bruise the 6–8 kaffir lime leaves, and lightly crush or slit the 3–5 bird’s eye chillies. Halve or thickly slice the shallot if using. Keep every aromatic in large, easy-to-spot pieces rather than mincing it, since none of them is meant to be eaten. That deliberate size is what lets the aromatics release their oils into the broth while staying simple to lift out or eat around at the table.
Prep the Chicken and Mushrooms
  1. Cut the 800g chicken thighs into even bite-size pieces, roughly 3–4cm, trimming any thick pockets of fat so every piece cooks at the same rate. Clean the 300–350g mushrooms with a damp cloth or a quick rinse and drain them well. Leave small straw or button mushrooms whole or halved, and slice a few for visual variety in the bowl. Drain and slice the bamboo shoots if using. Squeeze the lime juice, pick the cilantro leaves and slice the red chillies for the garnish now. That full preparation matters because once the chicken goes in, the soup moves quickly and leaves genuinely no time to chop.
Infuse the Broth
  1. Pour the 600ml chicken stock or water into a medium pot and add 400ml of the coconut milk, half the total. Add the bruised lemongrass, galangal coins, kaffir lime leaves, crushed chillies and the shallot if using. Bring to a very gentle simmer over medium heat, about 4–5 minutes, then reduce the heat and let it infuse for 8–10 minutes. Small, lazy bubbles should break at the edges, never a rolling boil. The broth is ready when it smells strongly of lemongrass and lime leaf and tastes clearly perfumed rather than simply milky. That gentle infusion is what draws out the aromatics’ flavour while keeping the broth clean and the coconut milk smooth.
Poach the Chicken
  1. Add the chicken pieces to the infused broth and stir to separate them. Keep the heat at a gentle simmer and cook for 6–8 minutes, stirring once or twice, until the chicken is just cooked through, opaque at the centre and reaching 74°C / 165°F in the thickest piece. Skim off any grey foam that gathers at the surface with a spoon. If the pot starts to bubble hard, lower the heat straight away. The chicken should feel tender and yield easily when pressed, not firm or rubbery. That short, gentle poach is what keeps the thigh meat genuinely juicy, since a hard boil would tighten it and turn it stringy.
Add the Mushrooms and Coconut Milk
  1. Add the mushrooms and the bamboo shoots if using. Simmer gently for 3–5 minutes, until the mushrooms are tender but still springy and holding their shape. Pour in the remaining 400ml coconut milk and warm it through over low heat for 1–2 minutes, stirring gently, without letting the soup return to a hard boil. The broth should look creamy, pale ivory and smooth, and it should still pour easily from a ladle rather than coat it thickly like a curry. That gentle second addition is what keeps the coconut milk silky and the colour pale, because strong heat at this point can split it.
Season and Balance
  1. Season the soup with 4 tbsp fish sauce and 1–2 tsp palm sugar if using, stirring until the sugar dissolves. Taste, then add up to 1 tbsp more fish sauce if it needs more savoury depth, and salt only if it still tastes flat. Turn the heat to low or off and stir in 4 tbsp lime juice. Taste again and add up to 2 tbsp more lime juice if the soup needs more brightness. The broth should taste creamy, aromatic and savoury first, lightly tangy second, and never sugary or harsh. That order — fish sauce, then sugar, then lime last off the heat — is what keeps the citrus fresh and the coconut broth smooth.
Finish and Serve
  1. Lift out the larger lemongrass and galangal pieces with a slotted spoon as you ladle, or leave a few in each bowl for presentation. Divide the soup among 4 bowls, making sure each one gets a generous share of chicken, mushrooms and broth, about 200g of chicken per bowl. Top each bowl with fresh cilantro leaves and the thinly sliced red chillies, and serve with lime wedges on the side so everyone can sharpen their bowl to taste. Serve immediately, while the broth is hot and the herbs are bright. That quick finish is what keeps the cilantro genuinely fresh and the lime aroma lively in every bowl.

Notes

The gentle infusion of the aromatics deserves genuine recognition as the technique most directly responsible for whether this soup tastes perfumed or flat. The recipe’s own instruction to “Keep it at a gentle simmer, not a hard boil” reflects how lemongrass, galangal and lime leaf release their oils steadily at low heat — a rolling boil drives off the volatile aromas and starts to break the coconut milk before the broth has any depth.
Keeping the aromatics in large pieces deserves the same attention this technique receives throughout this collection’s other aromatic broths, because it decides how the soup eats. The recipe’s own warning not to “mince the lemongrass or galangal into tiny pieces” explains why the stalks are cut into 5–6cm lengths and bruised instead, since woody, fibrous fragments release no more flavour and are genuinely unpleasant to bite into.
Adding the lime juice last deserves genuine respect as the detail most directly responsible for the soup’s bright, clean finish. The recipe’s own rule to “Always add the lime juice near the end, off heat or over very low heat” matters because citrus aroma fades quickly with heat, and lime boiled in coconut milk turns dull and slightly bitter while unsettling the creamy broth.
The finished broth consistency deserves attention as a genuine, checkable readiness cue rather than a loose approximation. The recipe’s own target that “tom kha should be creamy but still pourable and soupy, not thick like a curry” means checking that the broth runs freely from a ladle and keeping the heat low after the second coconut milk addition, rather than reducing it toward a heavy sauce.