Description
If you could bottle up warmth, comfort, and a little tropical escape in a bowl, it would taste like Tom Kha Gai. This Thai coconut chicken soup is rich yet light, creamy yet tangy, and spicy yet soothing—basically, it’s the perfect contradiction in the best possible way. Whether you’re battling the cold or just need a dinner that feels like a hug, this soup delivers. Making this soup at home is surprisingly easy, especially if you lean on a few shortcuts like rotisserie chicken.
The key to success here is the balance of flavors. Don’t skimp on the galangal, lemongrass, or makrut lime leaves—these aromatics are what give Tom Kha Gai its unmistakable fragrance and depth. Full-fat coconut milk is non-negotiable, and don’t be afraid of fish sauce; it adds the necessary umami punch. Thai chilies bring the heat, but you can adjust the spice level to your preference. And if you’ve never shaved palm sugar before, welcome to your next kitchen flex.
A couple of pro tips: bruise your aromatics before adding them to the broth to maximize flavor extraction, keep the heat low to prevent the coconut milk from curdling, and don’t forget to fish out the lemongrass and lime leaves before serving—nobody wants to bite into a chewy, inedible stalk mid-spoonful.
Serve this soup with jasmine rice, a drizzle of chili oil, and extra lime wedges for that final zing. One spoonful in, and you’ll understand why this dish has been a staple of Thai cuisine for generations.
Ingredients
- 1 tablespoon coconut or vegetable oil
- 6 ounces shiitake mushrooms, stemmed and sliced, or oyster mushrooms, chopped into bite-sized pieces
- 2 cups high-quality chicken stock* (preferably the very gelatinous kind)
- 2 cups full-fat coconut milk
- 2 stalks lemongrass, bruised with the back of a knife and cut into 2” chunks
- 5 makrut lime leaves
- One 2-inch-piece galangal, sliced into coins and bruised with the back of a knife
- 3 Thai chilies, stemmed and smashed, plus more thinly sliced, for serving (if you want it hot)
- 2 shallots, halved
- 5 sprigs cilantro, plus more chopped for serving
- 3 tablespoons palm sugar, shaved with a knife or grated using a microplane
- 2–3 tablespoons fish sauce, to taste
- 8 ounces rotisserie chicken (white and/or dark meat), cut into bite-sized pieces
- 3 tablespoons fresh lime juice
- Chili oil, for serving
Instructions
- In a Dutch oven or large saucepan, heat the oil over medium heat until shimmering. Add the mushrooms and a pinch of salt, stirring to combine. Sauté for 5–7 minutes, until the mushrooms have softened and started to release their moisture.
- Add the chicken stock, coconut milk, lemongrass, lime leaves, galangal, Thai chilies, shallots, cilantro sprigs, palm sugar, and fish sauce; bring to a simmer and let infuse over medium heat for 10 minutes, stirring occasionally. Do not allow the soup to boil. Taste for seasoning and adjust as necessary, adding more palm sugar or fish sauce as needed.
- Add the chicken and heat until warmed through. While the chicken is warming, fish out as many of the aromatics** (lemongrass, lime leaves, galangal, chilies, and shallots) as possible; these are intended to flavor the soup and not for consumption. Remove from the heat and stir in the lime juice. Serve with fresh cilantro, sliced Thai chilies, and chili oil, if desired.
Equipment




Better Than Bouillon Roasted Chicken Base
Buy Now →







Notes
*You can sub 2 cups cold water + 2 tablespoons Better Than Bouillon Roasted Chicken Base + 1/4 teaspoon powdered gelatin. Sprinkle the gelatin over the cold water; allow to sit for 5–10 minutes, then whisk in the Better Than Bouillon until dissolved.
**You can also tie the aromatics in a cheesecloth for easy removal; the flavor might not infuse quite as much when bundled, so you may want to simmer for 5–10 minutes longer the recipe calls for as written.
- Category: Thai-Inspired, Asian-Inspired, Chicken, Soups & Stews, Dairy-Free