A rich, creamy Thai soup made with coconut milk, aromatic herbs, and a balance of sweet, salty, sour, and spicy flavors. Tom Kha Gai is one of my favorite comfort dishes, especially when I’m craving something warming, bold, and fragrant. This soup is deeply nourishing and incredibly satisfying while still being light enough for any time of year.
Why You’ll Love This Recipe
I love this Thai Coconut Soup for its complex flavor profile—spicy, creamy, tangy, and just a little bit sweet. It’s also incredibly flexible: I can make it with chicken, tofu, or shrimp depending on my mood. The coconut milk gives it a rich texture without feeling heavy, and the aromatic ingredients like lemongrass, galangal, and Thai chilies make every spoonful taste like an adventure. Plus, it comes together quickly, making it perfect for a weeknight dinner.
ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
-
1 tbsp coconut oil
-
½ onion, thinly sliced
-
2 cloves garlic, chopped
-
1–2 Thai chilies or 1 red jalapeño, sliced
-
3 slices galangal (or fresh ginger), peeled
-
1 stalk lemongrass, bruised and cut
-
2 tsp red Thai curry paste
-
4 cups chicken broth (or vegetable broth for vegan version)
-
1 can (≈ 400 ml) full-fat coconut milk
-
200‑250 g chicken breast, cubed (or tofu/shrimp for variation)
-
150‑200 g mushrooms, sliced
-
1–2 tbsp fish sauce (or substitute soy sauce or tamari)
-
1 tbsp coconut sugar (or other sugar)
-
2‑3 tbsp fresh lime juice
-
Fresh cilantro for garnish
-
Green onions sliced, optional garnish
directions
-
I start by heating the coconut oil in a pot over medium heat. Then I add the onion, garlic, chilies, galangal, lemongrass, and curry paste. I cook this mixture for 3–5 minutes until everything becomes fragrant and the onions soften.
-
Next, I pour in the chicken broth and bring it to a boil. After that, I reduce the heat and let it simmer for about 15–20 minutes so the aromatics infuse the broth.
-
If I want a smoother texture, I strain out the solid aromatics like lemongrass and galangal at this point.
-
Then I add the coconut milk, cubed chicken (or my chosen protein), and mushrooms. I let it all simmer until the chicken is fully cooked and the mushrooms are tender.
-
Finally, I stir in the fish sauce, sugar, and lime juice. I always taste and adjust the seasoning—adding more lime juice if I want it tangier, or more sugar for balance.
-
I ladle the soup into bowls and top with fresh cilantro and green onions before serving hot.
Servings and timing
-
Servings: 4
-
Prep Time: 15 minutes
-
Cook Time: 30 minutes
-
Total Time: 45 minutes
Variations
I often switch things up depending on what I have on hand or who I’m cooking for. For a vegan version, I use tofu and vegetable broth instead of chicken. When I’m out of galangal or lemongrass, I’ll substitute with fresh ginger and a bit of lime zest—though the flavor won’t be exactly the same, it’s still delicious. I also love making it spicier or milder by adjusting the number of chilies or removing their seeds.
storage/reheating
I store any leftovers in an airtight container in the fridge for up to 3–4 days. When I reheat the soup, I do it gently over low heat to avoid breaking the coconut milk. I never bring it to a boil again—that helps keep the creamy texture intact.
FAQs
What is the difference between Tom Kha and Tom Yum?
Tom Kha is creamier and milder because of the coconut milk, while Tom Yum is a clear, more sour and spicy broth. I love Tom Kha when I want something rich and soothing.
Can I freeze this soup?
I don’t recommend freezing it. Coconut milk can separate after freezing, which affects the texture. If I must freeze it, I do so before adding the coconut milk and add it fresh when reheating.
How do I make it vegetarian or vegan?
I simply swap the chicken for tofu and use vegetable broth. I also replace the fish sauce with soy sauce or tamari.
What can I use instead of galangal?
If I can’t find galangal, I use fresh ginger. It won’t have the same flavor, but it still adds a nice depth and warmth to the soup.
Is this soup very spicy?
It can be! I adjust the spice level by using fewer chilies or removing the seeds. If I’m serving it to guests, I usually keep it milder and let them add heat at the table.
Conclusion
Tom Kha Gai is one of those dishes that always hits the spot for me. It’s cozy, flavorful, and easy to adapt to whatever I’m craving. Whether I’m making it with chicken, tofu, or shrimp, it always delivers on taste and comfort. Once I start making this at home, it quickly becomes a go-to favorite.
Print
Thai Coconut Soup (Tom Kha Gai)
- Prep Time: 15 mins
- Cook Time: 30 mins
- Total Time: 45 mins
- Yield: 4 servings
- Category: Soup
- Method: Stovetop
- Cuisine: Thai
- Diet: Gluten Free
Description
A rich, creamy Thai soup made with coconut milk, aromatic herbs, and a balance of sweet, salty, sour, and spicy flavors (commonly known as Tom Kha Gai).
Ingredients
- 1 tbsp coconut oil
- ½ onion, thinly sliced
- 2 cloves garlic, chopped
- 1–2 Thai chilies or 1 red jalapeño, sliced
- 3 slices galangal (or fresh ginger), peeled
- 1 stalk lemongrass, bruised and cut
- 2 tsp red Thai curry paste
- 4 cups chicken broth (or vegetable broth for vegan version)
- 1 can (≈ 400 ml) full-fat coconut milk
- 200‑250 g chicken breast, cubed (or tofu/ shrimp for variation)
- 150‑200 g mushrooms, sliced
- 1–2 tbsp fish sauce (or substitute soy sauce or tamari)
- 1 tbsp coconut sugar (or other sugar)
- 2‑3 tbsp fresh lime juice
- Fresh cilantro for garnish
- Green onions sliced, optional garnish
Instructions
- Heat coconut oil in a pot over medium heat. Add onion, garlic, chilies, galangal, lemongrass, and curry paste. Cook, stirring often, for about 3‑5 minutes until fragrant and onions soften.
- Add the chicken broth, bring to a boil, then reduce heat and let simmer about 15‑20 minutes to let aromatics infuse the broth.
- Strain out the solid aromatics (lemongrass, galangal, etc.) if desired for a smoother texture.
- Add coconut milk, chicken (or protein of choice), and mushrooms. Simmer until the chicken is cooked through and mushrooms are tender.
- Stir in fish sauce, sugar, and lime juice. Taste and adjust seasoning (more salt/fish sauce, more lime for sourness, more sugar for sweetness) as needed.
- Ladle into bowls and garnish with cilantro and green onions. Serve hot.
Notes
- You can make it vegan by using tofu and vegetable broth instead of chicken and chicken broth.
- If you can’t find galangal or lemongrass, fresh ginger and lime zest can substitute though flavor will differ slightly.
- Don’t bring coconut milk to a hard boil—it can separate; simmer gently.
- Adjust spice level by controlling how many chilies you use or removing seeds.
- Leftovers can be stored in fridge for up to 3‑4 days. Reheat gently.
Nutrition
- Serving Size: 1 bowl (approx. 1/4 recipe)
- Calories: ≈ 370 kcal
- Sugar: ≈ 3‑4 g
- Sodium: ≈ 550‑600 mg
- Fat: ≈ 30‑35 g
- Saturated Fat: ≈ 25‑28 g
- Unsaturated Fat: ≈ 5‑7 g
- Trans Fat: 0 g
- Carbohydrates: ≈ 8‑10 g
- Fiber: ≈ 1‑2 g
- Protein: ≈ 12‑15 g
- Cholesterol: ≈ 85 mg