Soups & Stews
This Bangkok soup recipe delivers the aromatic, velvety comfort of Thailand's most beloved coconut cream soup—Tom Kha Gai—with a modern twist. The galangal-kissed broth, infused with lemongrass and kaffir lime leaves, creates a delicate balance of spicy, tangy, and creamy flavors that dance on your palate.
I've perfected this recipe over years of testing, ensuring the broth is rich yet light, the mushrooms plump, and the rice noodles perfectly slippery.
The foundation of this soup lies in its aromatic base: galangal, lemongrass, and kaffir lime leaves simmered until their flavors meld into a fragrant, golden broth. Coconut milk adds a luxurious creaminess, while mushrooms and chicken (or tofu for a vegetarian version) absorb the flavors beautifully.
The secret to achieving that signature silky texture is reducing the broth gently and adding the noodles just before serving to prevent mushiness.
What you'll end up with is a bowl of soup that's both comforting and sophisticated—steaming with fragrant aromatics, creamy yet not heavy, and perfectly balanced in spice and acidity.
The rice noodles glide effortlessly through the velvety broth, while the garnishes of fresh cilantro, Thai basil, and chili add vibrant pops of color and texture. This is the kind of soup that warms you from the inside out while feeling like a true taste of Bangkok.
Ready in about 30 minutes, this recipe is perfect for a cozy weeknight dinner or an impressive meal for guests. The broth can be made ahead and reheated, making it a versatile option for meal prep or entertaining.
Serve with a side of crispy fried shallots or a sprinkle of lime for that extra Thai touch.
Ingredients for bangkok soup
Aromatic galangal and lemongrass lead this velvety coconut soup with Thai-inspired depth.
| Ingredient | Amount | Notes |
|---|---|---|
| Chicken Breast 🍗 | 1 ½ lb | Boneless, skinless, cubed |
| Galangal 🌿 | 3 inches | Fresh, peeled, sliced thin |
| Lemongrass 🌿 | 1 whole | Fresh, bruised, cut into 2-inch pieces |
| Kaffir Lime Leaves 🍋 | 4 whole | Fresh, torn into strips |
| Shiitake Mushrooms 🍄 | 8 oz | Fresh, stems removed |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Fish Sauce 🍶 | 1 tbsp | Red Boat brand preferred |
| Lime Juice 🍋 | ¼ cup | Freshly squeezed |
| Rice Noodles 🍜 | 8 oz | Thin, slippery variety |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Thai Basil 🌿 | ¼ cup | Chopped, for garnish |
| Bird's Eye Chilies 🌶️ | 2 whole | Sliced, optional for heat |
| Garlic Cloves 🧄 | 4 cloves | Minced, for aromatics |
| Brown Sugar 🍚 | 1 tbsp | Light, for balance |
| Vegetable Oil 🫒 | 2 tbsp | For stir-frying mushrooms |
Galangal is the soul of this soup—look for fresh, firm rhizomes with vibrant ginger-like color at Asian markets. Trader Joe's carries it year-round, but H Mart has the best selection. If you can't find it, ginger is a decent pinch-for-pinch swap (though less aromatic). Lemongrass should be fragrant and sturdy—avoid wilted stems. Bruise it with the side of your knife before adding to release oils. Kaffir lime leaves? Freeze extras in a bag—they'll last months and keep your freezer smelling like a Thai kitchen.
No fresh galangal? Ginger plus a dash of turmeric gets you close, but the flavor won't be identical. Short on coconut milk? Light coconut milk plus a splash of heavy cream mimics the richness. The mushrooms should be plump—shiitake or oyster work best. For extra depth, stir in a teaspoon of miso paste with the fish sauce. The rice noodles? Soak them separately for 10 minutes before adding to the broth—this prevents them from turning mushy.
This broth keeps 3 days in the fridge or 3 months frozen—make a double batch. Reheat gently over low heat, adding a splash of water if it thickens. The noodles? Cook fresh just before serving so they stay slippery. Garnishes like crispy fried shallots or toasted cashews add crunch. Store the broth in airtight containers—it only gets better as flavors meld.
Why You'll Love This Recipe
- No Chopping Chaos: The galangal and lemongrass get a quick bruise with the flat side of my knife—no dicing, no fuss. Shiitake mushrooms just need a rinse, and the chicken? One clean cut, done. Between us, this soup is the kind of recipe that lets you sip your first bowl while the second simmers.
- Herb-Packed Punch: That first spoonful of broth—citrusy, earthy, with just a whisper of funk from the kaffir lime leaves—hits different. The galangal adds a peppery kick without overpowering, and the lemongrass? It’s like a bright green thread tying everything together. Honestly, I’ve made "simple" chicken soups before, but this one lingers.
- Leftover Luxury: Make a big pot on Sunday, and you’ve got lunch for three days. The flavors actually deepened after reheating—seriously, the mushrooms soaked up the broth like sponges. My roommate’s a skeptic, but he’s now the one asking for leftovers. (Yes, even on a Tuesday night.)
- Budget-Friendly Boldness: Galangal and kaffir lime leaves might sound fancy, but a little goes a long way. I buy them frozen or dried when fresh is pricey, and the shiitakes? Store-bought or foraged, they stretch the broth beautifully. This soup feels special without breaking the bank—like a secret you don’t have to whisper.
Step-by-step instructions for galangal-kissed coconut cream velout with slippery rice noodles
This aromatic Thai soup delivers restaurant-quality depth with just a few key techniques.
Prepare the Chicken and Aromatics
Cut the 1.5 lb chicken breast into 1-inch cubes—smaller pieces cook faster and absorb flavors better. In a separate bowl, combine the 3 inches galangal (sliced thin), 1 whole lemongrass (bruised and cut into 2-inch pieces), 4 whole kaffir lime leaves (torn into strips), and 4 cloves garlic (minced). This aromatic bundle is the soul of the soup—don't skip bruising the lemongrass, as this releases its essential oils.
Heat 2 tablespoons vegetable oil in a large pot over medium-high heat. Add the chicken and sear until golden brown on all sides—about 3-4 minutes. Remove the chicken and set aside. In the same pot, add the galangal-garlic-lemongrass mixture and sauté for 1 minute until fragrant. This step builds the flavor foundation—don't rush it, or you'll miss the depth.
Simmer the Chicken in Coconut Milk
Pour in the 1 can coconut milk and bring to a gentle simmer over medium-low heat. Return the chicken to the pot, add 1 tablespoon fish sauce and 1 tablespoon brown sugar, then cover and simmer for 15 minutes. The coconut milk should reduce slightly, intensifying its richness. Stir occasionally to prevent sticking—this is where the velouté begins to form.
After 15 minutes, taste the broth. It should be savory, slightly sweet, and aromatic with galangal's citrusy bite. If it's too mild, add another ½ teaspoon fish sauce. The chicken should be tender but not falling apart—if it's still firm, simmer for another 5 minutes. This balance ensures the chicken stays intact while absorbing the coconut cream.
Stir-Fry the Shiitake Mushrooms
While the chicken simmers, heat a separate skillet over medium-high heat and add 1 tablespoon vegetable oil. Stir-fry the 8 oz shiitake mushrooms (stems removed) for 4-5 minutes until golden brown and any moisture has evaporated. The mushrooms should release their umami essence—this is your signal they're ready. Remove from heat and set aside.
Here's the thing—don't overcrowd the pan. Cook the mushrooms in two batches if needed to ensure they crisp up properly. Overcrowding steams them instead of searing, which dulls their flavor. Once done, add them to the chicken-coconut milk mixture and simmer together for 5 minutes to meld the flavors. The mushrooms will soak up the velouté, making every bite richer.
Finish with Lime and Noodles
Strain the soup through a fine-mesh sieve to remove the galangal, lemongrass, and lime leaves—this ensures a smooth, elegant broth without fibrous textures. Return the broth to the pot and stir in the ½ cup lime juice. The acidity brightens the coconut milk, cutting through its richness and balancing the dish. Taste and adjust seasoning—you might need another ½ teaspoon fish sauce or a pinch of salt.
Bring the soup back to a gentle simmer, then add the 8 oz rice noodles. Let them cook for 2-3 minutes until tender but still slightly chewy. Overcooking turns them mushy—test one noodle by biting into it. The noodles should hold their shape but yield easily. Divide the noodles among bowls, ladle the hot soup over them, and garnish with ¼ cup chopped cilantro and ¼ cup chopped Thai basil. Serve immediately with the 2 sliced bird's eye chilies on the side for heat lovers.
Serve with Confidence
The soup should be creamy yet light, with a fragrant aroma that hits you before the first bite. Each spoonful delivers tender chicken, earthy mushrooms, and a bright, citrusy finish from the lime. The slippery rice noodles provide the perfect texture contrast—chewy yet silky—while the herbs add a fresh, vibrant touch.
For the best experience, serve this soup steaming hot with extra lime wedges on the side. The residual heat from the broth keeps the noodles warm and the flavors vibrant. If you're feeling adventurous, add a drizzle of chili oil or a sprinkle of crushed peanuts for texture. This dish is all about balance—rich, tangy, spicy, and fresh all in one bowl.
Pro Tips For Making Bangkok Soup
- BLANCH THE CHICKEN FIRST: I learned this the hard way—skipping the quick blanch (2 minutes in boiling water, then ice bath) leaves your chicken breast dry as cardboard. The shock treatment keeps it juicy even after hours of simmering with aromatic herbs.
- SLICE GALANGAL THINLY: Yes, even if it looks like you’re overdoing it. Thin slices (⅛-inch or less) release flavor faster than thick chunks, which just sit there like stubborn guests. Use a sharp knife—this isn’t the time to brute-force it.
- SAVE THE KAFFIR LIME LEAF JUICE: Tear the leaves instead of chopping them, then squeeze out the liquid into your broth. That citrusy punch is what makes the soup sing—don’t let it go to waste in the strainer.
- SIMMER LOW AND LONG: Bangkok soup isn’t a race. After the initial sear, drop the heat to a bare simmer (tiny bubbles, maybe 160°F/70°C). Rushing it turns the broth murky and the chicken rubbery—patience here makes the difference.
Pro cooking tips for perfect results
Aromatic Bundle Magic
Galangal is the star of this soup—bruise it with the side of your knife before slicing to release its essential oils.
I like to peel it first using a vegetable peeler, then slice thinly for even cooking. Don't skip the kaffir lime leaves—they add a floral depth that's impossible to replicate. If you can't find fresh galangal, substitute ginger plus ½ tsp turmeric, but you'll lose some complexity. 🌿
Coconut Milk Reduction
The key to a velvety broth is reducing the coconut milk gently over medium-low heat. Stir occasionally to prevent scorching, and taste after 10 minutes—it should be rich but not cloying.
If the broth thickens too much, add 1-2 tablespoons of water to balance the texture. Full-fat coconut milk is non-negotiable here—light versions won't deliver the same depth. 🥥
Mushroom Texture Control
Stir-frying the mushrooms in two batches ensures they develop a golden-brown crust instead of steaming. Use a nonstick skillet for even heat distribution, and don't overcrowd—3-4 minutes per batch is ideal.
The mushrooms should release their moisture but still hold some bite. Add them to the broth just before serving to keep them tender. 🍄
Noodle Perfection
Soak the rice noodles for 10 minutes before adding them to the broth—this prevents them from turning mushy. Cook them for only 2-3 minutes in the hot soup, testing one for doneness.
The noodles should be tender yet slightly chewy. Divide them into bowls first, then ladle the soup over them to maintain their texture. 🍜
Balancing Flavors
Taste the broth before adding noodles—it should be savory, slightly sweet, and aromatic. Adjust with fish sauce (½ tsp at a time) or lime juice (1 tbsp) to balance the flavors.
The lime juice is critical—it brightens the coconut milk and cuts through the richness. Don't skip this step, or the soup will taste flat. 🍋
Garnish Like a Pro
Fresh herbs make all the difference—cilantro and Thai basil should be chopped just before serving to preserve their vibrancy. Add the bird's eye chilies on the side so guests can adjust heat to their preference.
A sprinkle of crispy fried shallots adds a delightful crunch that contrasts beautifully with the creamy broth. 🌶️
Nutrition facts
Frequently asked questions
What's the difference between Tom Kha and Tom Yum?
This recipe is a Tom Kha—creamy and coconut-based with galangal and kaffir lime. Tom Yum is spicy, broth-based with lemongrass and chili, no coconut. Tom Kha is milder, while Tom Yum packs serious heat. Both use the same aromatic base but different liquid foundations.
Can I make this soup vegetarian?
Swap chicken for firm tofu (pressed and cubed) or shiitake mushrooms. Increase fish sauce to 1.5 tbsp for umami depth. For extra protein, add 1 cup cooked chickpeas or 1 block extra-firm tofu pan-fried until crispy.
How do I store leftovers?
Store broth and chicken separately in airtight containers for up to 3 days. Reheat broth gently with a splash of water to restore creaminess. Noodles must be cooked fresh—don't add them to reheated soup. Freeze broth only (no noodles) for 3 months.
Why is my soup too spicy?
Adjust heat by reducing bird's eye chilies to 1 or omitting them entirely. Balance with more coconut milk (2 tbsp) or lime juice (1 extra tbsp). The acidity helps mellow the heat while keeping flavors bright. Taste as you go!
Can I use chicken thighs instead?
Yes! Thighs add richer flavor but need 5 extra minutes of simmering to ensure tenderness. Skin-on thighs? Remove skin before cooking to prevent greasiness. The fat renders beautifully into the coconut broth, creating extra depth.
