Pin It The smell of lemongrass always takes me straight back to a tiny kitchen in Chiang Mai, where I watched a street vendor stir a giant pot of tom kha gai with the kind of ease that only comes from making something a thousand times. She didn't measure anything, just tasted and adjusted, her spoon moving in slow circles. I stood there with my notebook, trying to write down what she did, but she just laughed and said the soup would tell me when it was ready. That night, I made my first attempt in a hostel kitchen with a borrowed pot, and even though I forgot half the ingredients, the creamy, tangy broth still tasted like magic.
I started making this soup regularly after a particularly cold February when nothing else seemed appealing. My partner would come home to the smell of galangal and lime leaves simmering, and the kitchen would feel warm and full before we even sat down to eat. One night, a friend who'd never tried Thai food before came over, skeptical about coconut milk in soup. She finished two bowls and asked for the recipe before she left. Now she makes it for her own family every few weeks, and texts me photos of her pot every single time.
Ingredients
- Chicken broth: The backbone of the soup, providing savory depth that balances the richness of coconut milk. I always use low sodium so I can control the saltiness with fish sauce.
- Lemongrass: Brings that unmistakable citrusy, floral note that defines Thai soups. Smash it with the back of your knife to release the oils before adding it to the pot.
- Galangal: This rhizome looks like ginger but tastes sharper and more pine like, giving the soup its authentic flavor. If you can only find ginger, use it, but know the soup will taste a little different.
- Makrut lime leaves: These glossy leaves add a distinct lime fragrance that bottled lime juice just can't replicate. Tear them before adding to release their aromatic oils.
- Thai birds eye chilies: Small but mighty, these bring gentle heat that builds as you eat. Crush them lightly to control the spice level without overpowering the other flavors.
- Chicken thighs: They stay tender and juicy in the broth, unlike breast meat which can turn rubbery if you overcook it even slightly.
- Coconut milk: Use full fat for the creamiest, most luxurious texture. Light coconut milk makes the soup taste thin and sad.
- Mushrooms: Straw mushrooms are traditional and have a lovely slippery texture, but cremini work beautifully and are easier to find.
- Fish sauce: This is your salt and umami in one bottle. Add it gradually and taste as you go, because brands vary wildly in intensity.
- Lime juice: Always use fresh, never bottled. Squeeze it in at the end so it stays bright and tangy.
- Palm sugar: It adds a subtle caramel sweetness that rounds out the sour and salty notes. Brown sugar works in a pinch.
Instructions
- Build the aromatic base:
- Bring the chicken broth to a gentle simmer, then add the lemongrass, galangal, lime leaves, and chilies. Let them infuse for 5 to 7 minutes, filling your kitchen with that unmistakable Thai fragrance.
- Cook the chicken:
- Slide in the sliced chicken and shallot, stirring gently. The chicken will turn opaque in just 3 to 4 minutes, so keep an eye on it to avoid overcooking.
- Add mushrooms and coconut milk:
- Stir in the mushrooms, then pour the coconut milk in slowly, stirring as you go. Bring it back to a simmer but don't let it boil hard, or the coconut milk can separate and look grainy.
- Season and balance:
- Add the fish sauce, palm sugar, and lime juice, tasting after each addition. You're aiming for a harmony of salty, sour, and just a hint of sweet.
- Finish and serve:
- Pull the pot off the heat and fish out the big pieces of lemongrass, galangal, and lime leaves if you like. Ladle into bowls, top with cilantro and green onions, and serve with lime wedges on the side.
Pin It
Pin It There's a moment when you're stirring the soup and the coconut milk swirls into the broth, turning it pale and creamy, that always feels a little bit like witnessing something transform. It's the same feeling I had the first time I made it well enough that it tasted like the bowls I'd had in Thailand. My mom tried it on a visit and said it reminded her of a trip she took decades ago, before I was even born. We sat there eating soup and swapping stories about places we'd been, and I realized that's what good food does—it builds little bridges between people and memories.
Serving Suggestions
I almost always serve this with a big bowl of steamed jasmine rice on the side, because the fluffy grains soak up the broth and make the whole thing more filling. Sometimes I'll add a plate of fresh Thai basil, extra lime wedges, and sliced chilies so everyone can adjust their own bowl. If I'm feeling ambitious, I'll make a quick cucumber salad with rice vinegar and a pinch of sugar to cut through the richness. On really hungry nights, spring rolls or shrimp crackers on the side turn it into a proper feast.
Storage and Reheating
This soup keeps well in the fridge for up to three days, though the herbs will soften and the flavors will deepen overnight. I store it in a big glass container and reheat individual portions gently on the stove, never in the microwave, because high heat can make the coconut milk separate. If it does look a little broken after reheating, a quick whisk usually brings it back together. Sometimes I'll squeeze in a bit more lime juice just before serving to wake up the flavors again.
Variations and Substitutions
You can make this vegetarian by swapping the chicken for firm tofu and using vegetable broth and soy sauce instead of fish sauce. I've also made it with shrimp, which cooks even faster than chicken and adds a sweet brininess to the broth. If you like it spicier, add more chilies or a spoonful of Thai chili paste. For a heartier version, toss in some rice noodles or baby bok choy during the last few minutes of cooking.
- Try adding cherry tomatoes for a pop of color and a hint of extra acidity.
- A handful of fresh spinach or Thai basil stirred in at the end adds color and freshness.
- If you want it richer, use all coconut milk instead of a mix of broth and coconut milk.
Pin It
Pin It This soup has become one of those recipes I turn to when I need something that feels like a hug in a bowl. I hope it finds a spot in your regular rotation, too.
Questions & Answers
- → Can I substitute galangal with regular ginger?
While ginger can be used as a substitute, galangal has a distinct citrusy, piney flavor that is essential for authentic Tom Kha Gai. Seek galangal at Asian markets for the best results, but fresh ginger works in a pinch.
- → How do I prevent the coconut milk from curdling?
Keep the heat at a gentle simmer and avoid bringing the soup to a vigorous boil once the coconut milk is added. Stir gently and maintain moderate heat throughout cooking.
- → Can I make this soup vegetarian?
Yes, substitute chicken with firm tofu, use vegetable broth instead of chicken broth, and replace fish sauce with soy sauce or tamari for a completely vegetarian version.
- → Where can I find makrut lime leaves?
Makrut lime leaves are available at most Asian grocery stores, often in the frozen section. Some specialty stores also carry fresh leaves. They are essential for authentic flavor and aroma.
- → How spicy is Tom Kha Gai?
The heat level is adjustable based on the amount of Thai chilies used. Start with fewer chilies for mild heat, or add more for those who prefer spicier flavors. The chilies can also be left whole and removed before serving.
- → Can I prepare this soup in advance?
Tom Kha Gai is best enjoyed fresh, but it can be stored in the refrigerator for up to 2 days. Reheat gently over low heat, avoiding boiling. The flavors will continue to develop as it sits.