Save Pin My neighbor Marco showed up at my door one evening with a container of tom kha gai he'd made, steam still rising from the lid, and I remember thinking how the aroma alone—that impossible blend of coconut, lemongrass, and lime—seemed to fill my entire kitchen in seconds. I practically begged him for the recipe, and after a few attempts of my own, I realized the magic wasn't in doing anything complicated, but in understanding that each ingredient needed space to shine without being rushed. Now whenever I make this soup, that first sip takes me straight back to that moment of discovery, when I tasted something so vibrant and balanced it made me want to learn Thai cooking properly.
I made this for my book club on a rainy Thursday, and one friend who claimed she wasn't into Thai food went back for thirds—then asked if I could make it regularly because her kids now refuse to eat her usual chicken soup. That's when I knew this recipe had crossed from just delicious into the territory of something people genuinely crave.
What's for Dinner Tonight? 🤔
Stop stressing. Get 10 fast recipes that actually work on busy nights.
Free. No spam. Just easy meals.
Ingredients
- Boneless, skinless chicken breast (400g): Slicing it thin means it stays tender instead of becoming tough, and the pieces disappear into the broth beautifully.
- Chicken stock (800ml): Use a good quality stock if you can—it's the foundation everything else builds on.
- Full-fat coconut milk (400ml): Don't reach for the light version; the richness is what makes this soup feel luxurious.
- Lemongrass (2 stalks): Smash it gently before adding so it releases its oils into the broth, then fish it out before serving if you prefer a cleaner bite.
- Kaffir lime leaves (4): These tear easily and infuse a citrusy brightness that bottled lime juice just can't replicate.
- Galangal (3 slices): It's like ginger's sophisticated cousin—slightly more floral and less sharp, though fresh ginger works in a pinch.
- Thai bird's eye chilies (3): Crushed rather than sliced means they distribute their heat evenly throughout the pot.
- Garlic (4 cloves) and shallots (4): Smashing them bruises the flesh slightly, allowing flavor to leach into the broth faster.
- Oyster or white mushrooms (200g): Slice them fairly thick so they don't disappear into the soup, and they add a subtle umami depth.
- Cherry tomatoes (100g): Halving them lets them release their juices while keeping their shape intact.
- Fish sauce (2½ tbsp): I know it smells funky straight from the bottle, but trust it—this is what ties all the flavors together into something cohesive.
- Fresh lime juice (1½ tbsp): Always squeeze it fresh; bottled lime juice tastes flat by comparison.
- Palm sugar (1 tsp): A tiny pinch balances the heat and sourness, making the soup taste more rounded and intentional.
- Salt (½ tsp): Add it gradually and taste as you go because fish sauce is already quite salty.
Tired of Takeout? 🥡
Get 10 meals you can make faster than delivery arrives. Seriously.
One email. No spam. Unsubscribe anytime.
Instructions
- Build your aromatic base:
- Bring the chicken stock to a gentle boil in a large saucepan, then add the lemongrass, kaffir lime leaves, galangal, crushed chilies, smashed garlic, and sliced shallots. Let it simmer for 5 minutes so the broth transforms from plain to fragrant—you'll notice the color deepening slightly and the aroma becoming unmistakable.
- Cook the chicken gently:
- Add your thinly sliced chicken breast to the simmering broth and reduce the heat to a low simmer. After 5–7 minutes, the chicken will turn opaque and cook through completely without becoming rubbery, which is the key to keeping it tender.
- Add the creamy richness:
- Stir in the full-fat coconut milk slowly and gently, then add the sliced mushrooms and halved tomatoes. Simmer for another 5 minutes until everything is heated through—resist the urge to boil or the coconut milk might separate and look grainy.
- Season to perfection:
- Pour in the fish sauce, fresh lime juice, palm sugar, and salt, then taste and adjust. This step is crucial because the balance of salty, sour, sweet, and spicy is what makes the soup sing.
- Optional: strain out the solids:
- If you prefer a cleaner broth without the soft pieces of galangal and garlic floating around, use a slotted spoon to fish them out carefully.
- Serve with all the trimmings:
- Ladle the soup into bowls and garnish generously with fresh cilantro, sliced green onions, lime wedges on the side, and extra sliced red chili if you want more heat. Serve immediately while it's still steaming.
Save Pin The first time I served this to my Thai friend Aom, she took one spoonful and her eyes widened—she said it tasted like the soup her grandmother made, which is honestly the highest compliment I've ever received in my kitchen. That moment taught me that authenticity doesn't require perfection; it requires respect for the ingredients and attention to how they speak to each other.
Still Scrolling? You'll Love This 👇
Our best 20-minute dinners in one free pack — tried and tested by thousands.
Trusted by 10,000+ home cooks.
The Secret to Layering Flavors
What makes tom kha gai different from a regular chicken soup is understanding that each component has a job: the aromatics build the foundation, the coconut milk adds body and richness, the fish sauce provides umami depth, and the lime juice brings everything into focus at the end. I used to add everything at once and wondered why my soup tasted muddy—now I understand that Thai cooking is about building in stages, letting each layer settle before adding the next.
Adaptations That Actually Work
I've made this for vegetarian friends by swapping the chicken for pressed tofu cubes and using vegetable broth instead of chicken stock, and honestly it's just as satisfying because the coconut and aromatics carry so much flavor. You can also substitute the fish sauce with a combination of soy sauce and a tiny pinch of anchovy paste if you want to avoid seafood, though it won't be quite the same. For galangal, fresh ginger works reasonably well—just use a bit less since it's more assertive—and if kaffir lime leaves are impossible to find, a strip of lime zest does the job in a pinch.
Making It Your Own
My coworker Rachel added a handful of baby spinach at the very end and it wilted right into the soup, adding nutrition without changing the character of the dish. I've also experimented with swapping mushrooms for bamboo shoots, adding a splash of rice vinegar for extra tanginess, and even throwing in sliced Thai eggplant when I can find it. The beauty of this recipe is that it's flexible enough to adapt to what you have on hand while still maintaining its essential character—that perfect balance of creamy, tangy, spicy, and herbaceous.
- Add a handful of spinach or bok choy in the last minute for extra greens without altering the flavor profile.
- If you like your soup brothier, reduce the coconut milk by 50ml and add extra chicken stock instead.
- Serve alongside jasmine rice so people can adjust how much soup to rice they want in each bite.
Save Pin Every time I make this soup, I'm reminded that the best recipes are the ones that taste like care—like someone took the time to understand their ingredients and treated them with respect. There's something almost meditative about standing over a simmering pot of aromatic broth, watching it transform from ordinary to extraordinary.
Recipe Questions
- → Can I use chicken thighs instead of breast?
Yes, boneless skinless chicken thighs work beautifully and add extra richness. Adjust cooking time slightly as thighs may take 1-2 minutes longer to cook through.
- → What can I substitute for galangal?
Fresh ginger is the best substitute for galangal, though it has a slightly different flavor profile. Use the same quantity and slice thinly. Dried galangal can also work if rehydrated first.
- → Where can I find kaffir lime leaves?
Kaffir lime leaves are available at Asian grocery stores, often in the fresh produce or frozen section. In a pinch, use lime zest as a substitute, though the flavor won't be identical.
- → Can I make this soup ahead of time?
Yes, the soup can be prepared up to 2 days ahead. Store in an airtight container in the refrigerator. Reheat gently without boiling, and add fresh garnishes just before serving for best results.
- → How do I adjust the spice level?
Start with 1-2 chilies for mild heat, or omit them entirely for a non-spicy version. You can also remove the seeds from the chilies to reduce heat while keeping the flavor.
- → Is this soup freezer-friendly?
Coconut milk-based soups can be frozen, though the texture may separate slightly upon thawing. Freeze for up to 3 months and reheat gently, stirring well to recombine the ingredients.