Soups & Stews
This authentic Thai tom kha soup recipe delivers the perfect balance of creamy coconut, tangy lime, and aromatic galangal—just like the soups you'd find in Bangkok's bustling street markets. 🌟 The secret lies in traditional techniques: simmering coconut milk to enhance its natural sweetness while building layers of flavor through fresh herbs and a touch of chili.
I've perfected this recipe over years of testing, ensuring every spoonful captures the essence of Thai cuisine without compromising on authenticity.
The foundation of tom kha begins with galangal, a root that's the soul of this soup, paired with lemongrass and kaffir lime leaves for that signature Thai aroma.
Unlike many Western adaptations, this recipe doesn't rely on shortcuts—it uses freshly ground spices and simmers the broth just enough to develop depth without losing its vibrant qualities. The coconut milk provides a velvety base, while lime juice and fish sauce add the signature tangy-savory contrast that defines tom kha.
What you'll end up with is a rich, aromatic soup that's creamy yet light, with tender chicken or mushrooms (your choice) swimming in a velouté that's perfectly balanced between sweet, sour, and spicy.
The galangal's citrusy bite cuts through the richness, while the coconut milk creates a luxurious texture that feels indulgent yet refreshing. This is the kind of soup that warms you from the inside out while transporting your taste buds straight to Thailand.
Serve it with steamed jasmine rice to soak up every last drop of that fragrant broth, and garnish with fresh cilantro and Thai basil for a pop of color and extra brightness.
The beauty of this recipe is its flexibility—adjust the chili heat to your preference, and don't skip the fresh herbs, as they're essential for that authentic touch. Let's get cooking!
Ingredients for authentic thai tom kha soup
Here's what you need to create this aromatic galangal-kissed coconut soup from scratch.
| Ingredient | Amount | Notes |
|---|---|---|
| Chicken Breast 🍗 | 1 ½ lb | Boneless, skinless, cut into bite-sized pieces |
| Galangal Root 🌿 | 2 inches | Fresh, peeled, sliced thinly |
| Lemongrass Stalks 🌿 | 3 whole | Bruised, cut into 2-inch pieces |
| Kaffir Lime Leaves 🍋 | 4 whole | Fresh, torn into strips |
| Coconut Milk 🥥 | 1 can (13.5 oz) | Full-fat, unsweetened |
| Fish Sauce 🍶 | 1 ½ tbsp | Red Boat preferred |
| Lime Juice 🍋 | ⅓ cup | Freshly squeezed |
| Chicken Broth 💧 | 2 cups | Low-sodium preferred |
| Red Curry Paste 🌶️ | 1 tbsp | Maesri brand recommended |
| Thai Chili Paste 🔥 | 1 tbsp | Adjust to taste |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Thai Basil 🌿 | ¼ cup | Chopped, for garnish |
| Garlic Cloves 🧄 | 3 cloves | Peeled, minced |
| Shallots 🧅 | 2 whole | Peeled, sliced thinly |
| Sugar 🍚 | 1 tsp | White granulated |
Galangal is the heart of this soup—find it at Asian markets or well-stocked grocery stores like Whole Foods. It has a citrusy, peppery kick that's unmistakable once you try it. If you can't find fresh galangal, substitute ginger at half the amount, but trust me, it won't be the same. Lemongrass and kaffir lime leaves are usually sold together in the same section. Look for stalks that are firm and bright green—those sad, wilted ones won't give you the same flavor punch. The coconut milk should be full-fat, not light—Thai Kitchen brand works great if you're in a hurry.
No fish sauce? Soy sauce works in a pinch, but it won't be authentic. The Thai chili paste can be swapped for red pepper flakes at half the amount, though it won't have that same complex heat. Fresh Thai basil is ideal, but regular basil works if you're desperate—just double the amount. For the chicken, bone-in thighs stay juicier, but boneless breasts work for this quick version. The broth matters—low-sodium is key so you can control the seasoning. And if you're feeling fancy, toast your red curry paste in the pot for 30 seconds before adding liquids—that brings out the flavors.
This soup tastes even better the next day when flavors meld, so make a double batch if you can. Store leftovers in the fridge for 4-5 days or freeze for 3 months. The galangal and lemongrass can be prepped ahead and refrigerated for 3 days—just add them straight from the fridge. For extra freshness, keep your herbs in a jar of water in the fridge like flowers. And if you've got leftover coconut milk, it keeps for 2 weeks unopened, so buy that full can.
Why You'll Love This Recipe
- Flavor Explosion in a Bowl: The galangal and lemongrass hit like a warm, citrusy punch—bright, peppery, and layered with coconut creaminess. I’ll be real: once you taste the balance of those fresh herbs simmered with chicken, you’ll want to make it every time you crave something that tastes like a vacation.
- Minimal Chopping, Maximum Impact: Between us, the prep is ridiculously simple. A few slices of galangal, a couple of lemongrass stalks, and a handful of kaffir lime leaves—no dicing, no fuss. The hardest part? Deciding whether to use fresh or frozen galangal (I default to fresh, but frozen works in a pinch).
- Leftovers That Beg for More: This soup actually improves the next day. The flavors meld deeper, and the coconut milk thickens just enough to make seconds feel like a must. I’ve reheated portions for lunch three days in a row—no one ever complains, and my wallet stays happy.
- Weeknight Hero for Busy Nights: Throw it together while dinner burns, or make a big batch on Sunday. The chicken stays tender, the broth stays fragrant, and cleanup is just a pot and a spoon. Honestly, it’s my go-to when I’m too tired to think but still need something that feels like a hug in a bowl.
Step-by-step instructions for authentic Thai tom kha soup
Here's how to craft this fragrant, creamy Thai classic with perfect balance.
🍳 Step 1: Sauté Aromatics Until Fragrant
Heat a large pot over medium heat and add the 2 whole shallots and 3 cloves garlic. Cook for 3-4 minutes until the shallots soften and become translucent. This is where the foundation flavors begin to develop.
Next, add the 2 inches galangal root and 1 tbsp red curry paste. Stir constantly for 2 minutes until the galangal releases its citrusy aroma and the paste dissolves completely. The galangal should smell bright and slightly peppery—this is your signal to move forward.
🍳 Step 2: Build the Flavor Base
Increase heat to medium-high and add the 3 whole lemongrass stalks and 4 whole kaffir lime leaves. Toast for 1 minute until the lemongrass releases its essential oils and the lime leaves darken slightly. This step infuses the soup with those signature Thai herbal notes.
Pour in the 2 cups chicken broth and bring to a gentle boil. Immediately reduce heat to medium-low and add the 1.5 lb chicken breast cut into bite-sized pieces. Simmer for 10-12 minutes until the chicken is fully cooked and the broth has reduced slightly, concentrating the flavors.
🥘 Step 3: Create the Creamy Coconut Base
Add the 1 can (13.5 oz) coconut milk and 1 tbsp thai chili paste to the simmering broth. Stir gently to combine, being careful not to break up the chicken pieces. The soup should begin to thicken slightly as the coconut milk emulsifies with the broth.
Taste the soup at this stage—it should be rich and slightly sweet from the coconut, with a subtle heat from the chili paste. If you want more heat, add a pinch more chili paste, but remember this is a balanced soup where the coconut cream shines.
🍋 Step 4: Finish with Acid and Sweetness
Remove the pot from heat and stir in the 1.5 tbsp fish sauce, 0.33 cup lime juice, and 1 tsp sugar. The fish sauce adds umami depth, the lime brightens everything, and the sugar balances the acidity. Let the soup sit off heat for 5 minutes to allow these flavors to meld completely.
Return the soup to a gentle simmer for 2-3 minutes to ensure all ingredients are heated through. The soup should be creamy but not heavy, with a beautiful golden hue from the coconut and a subtle sheen from the lime.
🌿 Step 5: Garnish and Serve
Discard the lemongrass stalks and kaffir lime leaves. Ladle the soup into bowls and garnish with the 0.25 cup fresh cilantro and 0.25 cup thai basil. The herbs add freshness and visual appeal, completing the authentic presentation.
Serve immediately with steamed jasmine rice. Each spoonful should deliver a perfect balance of creamy coconut, aromatic galangal, bright lime, and subtle heat. This is the soul of Thai comfort food!
Pro Tips For Making Authentic Thai Tom Kha Soup
- Pound the Chicken First: I learned this the hard way—skipping the tenderizing step leaves you with chewy breast meat in an otherwise perfect soup. Use a meat mallet or rolling pin to flatten the chicken to about ½-inch thickness before slicing into thin strips. This guarantees melt-in-your-mouth texture while keeping the broth clear.
- Char the Galangal: Sounds weird, but it works: lightly char the sliced galangal over high heat for 30 seconds per side before adding to the broth. That quick sear deepens the earthy flavor and prevents it from turning mushy later—just scrape off any blackened bits after.
- Simmer, Don’t Boil: After adding coconut milk, resist the urge to crank the heat. A gentle simmer (tiny bubbles, occasional swirls) keeps the creaminess intact while letting the chicken absorb flavor. Boiling will break the emulsion and leave you with a separated, greasy soup.
- Use Half the Coconut Milk: My grandmother swore by this, and she was right: stir in only ½ cup of coconut milk at the end, not the full can. The soup’s authentic richness comes from the aromatics and chicken, not drowning them in dairy. Save the rest for garnish or another dish—trust me, you’ll want it.
Make-ahead tips for authentic thai tom kha soup
Prep Ahead Essentials
Start by prepping your aromatics the night before—slice the 2 inches galangal and 2 whole shallots, then store them in an airtight container in the fridge. The galangal's citrusy flavor intensifies when prepped ahead, giving your soup an extra depth of aroma.
I also bruise the 3 lemongrass stalks and tear the 4 kaffir lime leaves—these can sit in a sealed bag for 3 days without losing potency. This saves you 15 minutes of prep time on cooking day. 🌿
Broth Base Prep
Make your 2 cups chicken broth in advance and keep it refrigerated for up to 5 days or frozen for 3 months.
For extra richness, I like to toast 1 tbsp red curry paste in a dry pan for 30 seconds before adding it to the broth—this deepens its flavor profile. Store the toasted paste in a small jar in the fridge for up to 1 week.
The broth will absorb these flavors beautifully when reheated. ⏰
Coconut Milk Storage
Unopened 13.5 oz coconut milk lasts 2 weeks at room temperature, but once opened, transfer it to an airtight container and refrigerate for up to 5 days.
For the best texture in your soup, let it sit at room temperature for 10 minutes before using—this prevents clumping when added to hot broth. I always keep an extra can on hand because it’s the soul of tom kha. 🥥
Protein Prep Options
For the 1.5 lb chicken breast, you can either cook it fresh or poach it ahead. If prepping ahead, simmer the chicken in 1 cup broth with 1 tsp fish sauce for 8 minutes, then cool and store in the fridge for 2 days.
Reheat gently in the soup—this keeps it juicy. For a vegetarian twist, swap in 1 lb mushrooms (shiitake or oyster) that you’ve sautéed with 1 tbsp soy sauce and stored separately. 🍗
Flavor Boost Freezer Hack
Combine 1.5 tbsp fish sauce, 0.33 cup lime juice, and 1 tsp sugar in an ice cube tray and freeze. Pop out a cube when reheating your soup—this ensures perfect balance every time without measuring.
The frozen cube also helps cool the hot soup slightly as it melts. I keep a tray of these in my freezer for all my Thai dishes. ✨
Reheating Like a Pro
Reheat your soup gently on the stovetop over low heat—never microwave, as it can break the coconut milk’s emulsion. Add 2 tbsp water or broth to prevent sticking, and simmer for 5-7 minutes.
If the soup seems too thick after reheating, stir in 1-2 tbsp coconut milk to restore its creamy texture. Garnish fresh with cilantro and Thai basil right before serving to keep those bright flavors intact. 🔥
Nutrition facts
Frequently asked questions about Thai tom kha soup
Can I make this soup vegetarian?
Swap the chicken for 1 lb shiitake or oyster mushrooms—they absorb the coconut broth beautifully. Sauté them with 1 tbsp soy sauce and 1 tsp fish sauce substitute (like soy sauce or vegan fish sauce) before adding to the broth. The texture will be hearty and satisfying while keeping that authentic Thai flavor profile.
What if I can't find galangal?
Use ginger at half the amount (1 inch instead of 2 inches) as a substitute, but expect a milder flavor. Galangal has a unique citrusy-peppery taste that ginger can't fully replicate. For the best results, look for galangal at Asian markets or order it online—it's worth the hunt for that authentic taste.
How spicy should this soup be?
The recipe calls for 1 tbsp Thai chili paste, which gives a mild heat. For more spice, add ½ tsp extra chili paste per bowl or serve with sliced Thai chilies on the side. Remember, you can always adjust to taste—Thai soups are all about balance between creamy coconut, tangy lime, and subtle heat.
Can I use light coconut milk?
For authentic tom kha, use full-fat coconut milk only. Light coconut milk lacks the richness needed for that velvety texture. If you must use light, add 1 tbsp heavy cream to restore creaminess, but the flavor won't be as true to traditional recipes. The canned coconut milk should be unsweetened—sweetened versions will throw off the balance.
Why does my soup taste too salty?
Fish sauce is salty, so taste as you go! Start with 1 tbsp and adjust gradually. If it's too salty, dilute with ½ cup warm broth or water and simmer to reduce. For future batches, use low-sodium chicken broth and reduce fish sauce to 1 tsp initially. The key is balancing all flavors—taste after each addition.
