Soups & Stews
This authentic Thai Tom Kha soup recipe transports you straight to a bustling Bangkok street stall with its fragrant galangal, kaffir lime, and coconut milk base. The secret lies in balancing sour, spicy, and creamy flavors—just like the chefs do—without overwhelming heat or sweetness.
I've perfected this technique over years of testing, ensuring every spoonful delivers that signature Thai comfort in a bowl.
The beauty of this recipe is its simplicity once you understand the key components: a fragrant broth infused with lemongrass, galangal, and kaffir lime leaves, tender chicken (or tofu for vegetarians), and rich coconut milk that creates velvety texture.
The broth simmers low and slow, allowing all those aromatic spices to meld into something deeply comforting. What makes it authentic isn't just the ingredients, but how they work together—each element playing its part in perfect harmony.
By the time you're done, you'll have a steaming bowl of soup with tender chicken pieces floating in a creamy, fragrant broth that's just spicy enough to wake up your taste buds.
The aroma alone will have everyone gathering around your table, while the first sip delivers that perfect balance of tangy, spicy, and creamy that defines Thai cuisine. This is the kind of recipe that makes you want to make it again and again.
Serve it hot with steamed jasmine rice to soak up every last drop of that fragrant broth, and garnish with fresh cilantro and Thai basil for that final touch of authenticity.
The leftovers? Even better the next day as the flavors deepen. Let's get cooking—this is Thai comfort food at its finest.
Ingredients for authentic thai tom kha soup
Simple ingredients that pack a punch—this is where the magic happens in authentic Tom Kha.
| Ingredient | Amount | Notes |
|---|---|---|
| Chicken Breast 🍗 | 1 ½ lb | Boneless, skinless, cut into bite-sized pieces |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can (not carton) |
| Lemongrass Stalks 🌿 | 3 whole | Bruised, bottom 3 inches only |
| Galangal Root 🌿 | 1 piece | 3-inch piece, peeled and sliced thin |
| Kaffir Lime Leaves 🍋 | 4 whole | Torn in half, stems removed |
| Thai Chili Peppers 🌶️ | 2 whole | Bird's eye or Thai bird's eye, whole |
| Garlic Cloves 🧄 | 4 cloves | Smashed, not minced |
| Shallots 🧅 | 4 whole | Peeled, sliced thin |
| Fish Sauce 🍶 | 2 tbsp | Red Boat preferred |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Coconut Sugar 🍚 | 2 tbsp | Or substitute brown sugar |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Thai Basil 🌿 | ¼ cup | Chopped, for garnish |
| Vegetable Oil 🫒 | 2 tbsp | For cooking |
| Salt 🧂 | 1 tsp | Adjust to taste |
The galangal and kaffir lime leaves are non-negotiable—they're the soul of this soup. Asian markets have the best selection, but if you can't find galangal, ginger works in a pinch (though it's not the same). Look for galangal that's firm and pale yellow—anything brown or soft has gone bad. Kaffir lime leaves should be bright green and fragrant; if they smell musty, skip them. I always buy extra galangal since it keeps for weeks in the fridge, wrapped tightly in plastic.
No Red Boat fish sauce? Any good-quality fish sauce will do—just make sure it's not that cheap stuff with additives. Running short on Thai chilies? Substitute with serrano peppers, but use half the amount—these are spicy! Coconut milk cartons (the kind with water) won't work here; you need the full-fat canned version for that rich, creamy texture. The lemongrass? Bruise the bottom 3 inches with the flat side of your knife—this releases the oils and flavors. And if you can't find coconut sugar, brown sugar works fine—just taste as you go.
This soup tastes even better the next day as the flavors meld together. Store leftovers in an airtight container in the fridge for 3-4 days. Freeze for up to 3 months if you want to make a big batch—just thaw overnight in the fridge. The broth reduces as it cools, so add a splash of water when reheating. Garnish with fresh cilantro and Thai basil right before serving—they lose their pop if added too early. Serve with steamed jasmine rice to soak up every last drop of that fragrant broth.
Why You'll Love This Recipe
- One-Pot Magic: The galangal and lemongrass practically cook themselves—just simmer everything together, and the broth builds flavor while you prep the rest. No skillet juggling, no messy sauces; it’s all in that single pot, steamy and fragrant.
- Creamy-Spicy Balance: That first sip of coconut milk cutting through the galangal’s sharp kick? Chef’s kiss. It’s rich but not heavy, tangy but never sour—like a warm hug for your taste buds, especially when you add a squeeze of lime at the end.
- Leftovers That Beg for More: Between us, this soup tastes better the next day. The chicken gets more tender, the broth deepens, and I’ve been known to reheat it twice in a row. (Yes, even on a Tuesday night.)
- Budget-Friendly Luxury: Chicken breast stretches far, coconut milk adds depth without costing a fortune, and those aromatic roots (lemongrass, galangal) turn basic ingredients into something restaurant-worthy. It’s the kind of meal that feels special but won’t break the bank.
Step-by-step instructions for authentic Thai Tom Kha soup
Let's create this fragrant, creamy Thai soup that balances spicy, sour, and herbal notes perfectly.
Prepare the Aromatic Base
Heat the 2 tablespoons vegetable oil in a large pot over medium heat. Add the 4 whole shallots and cook for 3-4 minutes until they turn golden brown and sweet-smelling. This is your flavor foundation—don't rush this step or the shallots will burn.
Add the 4 smashed garlic cloves, 3 bruised lemongrass stalks (bottom 3 inches only), and 1 sliced galangal root. Stir for 1-2 minutes until fragrant—you should smell that distinct galangal aroma, which is essential for authentic flavor. Here's where the magic happens: the galangal and lemongrass release their citrusy, peppery notes that define this soup.
Build the Spicy-Sour Broth
Add the 2 whole Thai chili peppers and cook for 30 seconds—just enough to soften slightly but not burn. Pour in the 1 can coconut milk and stir well. Let this simmer gently for 5 minutes to allow the coconut to infuse with the aromatics.
Now add the 1.5 lb bite-sized chicken breast pieces and 1 teaspoon salt. Pour in 1 cup water (you'll add more later) and bring to a gentle simmer. The chicken should cook for 10-12 minutes until it's just cooked through but still tender—you'll finish cooking it in the broth later. Here's the thing: if you overcook it now, it'll turn rubbery in the finished soup.
Create the Signature Tom Kha Flavor
Add the 2 tablespoons fish sauce and 2 tablespoons coconut sugar, stirring well. Let the soup simmer for 5 minutes to allow these flavors to meld. This is where the authentic taste develops—the fish sauce adds umami depth while the coconut sugar balances the acidity.
Add the 4 halved kaffir lime leaves and 0.5 cup lime juice, stirring gently. Simmer for another 5 minutes. You'll notice the soup becomes fragrant and slightly thickened—this is normal as the coconut milk releases its natural starches. Taste and adjust seasoning: add more fish sauce for saltiness, lime juice for sourness, or coconut sugar for sweetness. This is the moment that matters: balancing all these flavors perfectly.
Finish and Garnish
Remove the chicken from the soup and let it rest for 5 minutes. Then shred it with two forks and return it to the pot. Add enough water to reach your desired consistency—typically 1-2 cups more for a brothy soup. Simmer for 3-5 minutes just to heat through.
Ladle the soup into bowls and garnish with 0.25 cup chopped fresh cilantro and 0.25 cup chopped Thai basil. Here's the pro tip: add a few extra kaffir lime leaves to each bowl—they infuse the soup with their citrusy aroma as you eat. Serve immediately with steamed jasmine rice to soak up every last drop of that fragrant broth.
Pro Tips For Making Authentic Thai Tom Kha Soup
- BLANCH THE CHICKEN FIRST: Toss your chicken breast in simmering water for 3-4 minutes before adding it to the pot—this stops it from turning rubbery while cooking. I learned this the hard way after serving dry, overcooked chicken in a soup that should’ve been silky.
- GRATE GALANGAL FINE: Use a box grater or microplane to get tiny, even pieces—this ingredient carries the soup’s signature peppery kick. I used to chop it roughly, and the flavor felt half as strong. (Yes, even if you’re impatient like me.)
- SIMMER DON’T BOIL: Keep the heat low after adding coconut milk—boiling curdles it and ruins the creamy texture. After burning three batches, I finally figured out: a gentle simmer at 180°F (82°C) is all it needs.
- TOAST THE LEMONGRASS: Char the bottom of your lemongrass stalks in a dry pan for 30 seconds before bruising them—this deepens the citrusy aroma. Sounds weird, but it works: the soup tastes richer without extra oil or salt.
Pro cooking tips for great authentic thai tom kha soup
Broth Infusion Mastery
The key to authentic Tom Kha lies in properly infusing your broth. Bruise the bottom 3 inches of lemongrass with the flat side of your knife—this releases essential oils that give the soup its signature citrusy aroma.
Similarly, slice galangal thinly (about ¼-inch thick) to maximize surface area for flavor extraction. Simmer the aromatics in 2 tbsp vegetable oil over medium-low heat for 5 minutes before adding coconut milk—this prevents burning and ensures deep flavor development. 🌿
Chicken Cooking Precision
Cook the 1.5 lb chicken breast in two stages for perfect texture. First, parboil the pieces in 1 cup water for 5-6 minutes until just cooked through (165°F internal temp). Remove and set aside, then return to the simmering broth to finish cooking.
This method prevents rubbery meat while keeping the broth flavorful. I always use boneless, skinless chicken for even cooking and cleaner presentation. 🍗
Coconut Milk Technique
Never add coconut milk to a boiling broth—it separates and curdles. Instead, pour it in when the broth is at a gentle simmer (190-200°F) and stir continuously for 30 seconds to emulsify.
For extra creaminess, use full-fat canned coconut milk (like Aroy-D brand) and simmer uncovered to let the natural starches thicken the broth slightly. If your soup looks too thin, simmer uncovered for 2-3 extra minutes—the coconut will do the work for you. 🥥
Flavor Balancing Secrets
Tom Kha's magic is in the three-way balance: sour (lime), spicy (chilies), and creamy (coconut). Start with 2 tbsp fish sauce and 2 tbsp coconut sugar, then adjust in ½ tbsp increments.
Taste after each addition—authentic versions should have bright acidity, warm spice, and smooth creaminess all working together. Pro tip: Add kaffir lime leaves last—they infuse the broth with citrusy aroma but should stay whole for easy removal. 🌶️
Garnish Like a Pro
Fresh herbs make all the difference. Toss ¼ cup chopped cilantro and ¼ cup Thai basil with 1 tbsp lime juice before adding to bowls—this preserves their vibrant color and flavor.
For extra authenticity, add 2-3 whole Thai chilies to each bowl (remove before eating if preferred) and a halved kaffir lime leaf. The aroma from these garnishes transforms an ordinary bowl into a restaurant-quality experience. ✨
Nutrition facts
Frequently asked questions
Can I make this Tom Kha soup vegetarian?
Replace the chicken with 1 lb firm tofu or 12 oz mushrooms (shiitake or oyster work best). For tofu, press it first to remove excess water, then cut into cubes and pan-fry until golden before adding to the broth. The mushrooms will absorb the flavors beautifully and add a meaty texture. Use the same cooking time as chicken to ensure they're fully tender.
Why does my Tom Kha soup taste too sweet or sour?
This happens when the balance of flavors isn't quite right. For too sweet: reduce the coconut sugar by half and add 1 extra tbsp fish sauce to bring back umami depth. For too sour: add ½ tbsp coconut sugar and 1 tsp more fish sauce, then simmer for 2 minutes to let flavors meld. Taste after each adjustment—authentic versions should have bright acidity that's balanced by creamy and spicy notes.
Can I make this soup ahead of time?
Yes! In fact, it tastes even better the next day as the flavors deepen. Store in an airtight container in the fridge for 3-4 days. The broth will reduce slightly, so add ½ cup water when reheating. For freezing, portion into containers and freeze for up to 3 months. Thaw overnight in the fridge—never microwave directly from frozen. The texture remains creamy when reheated gently.
What's the difference between Tom Kha Gai and Tom Kha Pak?
Tom Kha Gai is made with chicken (the version in this recipe), while Tom Kha Pak features crab meat instead. The broth preparation is identical, but crab adds a slightly sweeter, more delicate flavor. For a seafood version, substitute the chicken with 1 lb lump crab meat and add it during the final 5 minutes of simmering to keep it tender.
Can I use regular ginger instead of galangal?
While ginger can work in a pinch, it won't give you that authentic Tom Kha flavor. Galangal has a unique citrusy, peppery aroma that's essential. If you must substitute, use 1 tbsp grated ginger per 3-inch piece of galangal, but reduce the amount by half since ginger is more potent. For the best results, track down fresh galangal at an Asian market—it's worth the effort for that signature taste.
