Quick Recipe Version (TL;DR)
Quick Ingredients
- 3 cups (720 ml) low-sodium chicken stock
- 2 lemongrass stalks, trimmed and smashed
- 6 slices fresh galangal (1/8 inch thick)
- 6–8 kaffir lime leaves, torn
- 2 small shallots, thinly sliced
- 3 Thai bird’s eye chilies, halved (seeds optional)
- 2 cans full-fat coconut milk (13.5 oz/400 ml each)
- 8 oz (225 g) mushrooms (straw, oyster, or cremini), sliced or quartered
- 1 lb (450 g) boneless skinless chicken thighs, thinly sliced
- 2 1/2 tbsp fish sauce, 1 tbsp palm or light brown sugar
- 3 tbsp fresh lime juice
- 1/4 cup cilantro leaves, 2 scallions, thinly sliced
- Lime wedges; optional chili oil or Thai chili paste for serving
Do This
- 1. Simmer stock with lemongrass, galangal, lime leaves, shallots, and chilies for 10 minutes.
- 2. Stir in coconut milk; keep at a gentle simmer (about 180–190°F/82–88°C), not a boil.
- 3. Add mushrooms (and tomato wedges if using); simmer 5 minutes.
- 4. Add sliced chicken; poach 5–7 minutes until opaque and 165°F/74°C.
- 5. Season with fish sauce and sugar; remove from heat and stir in lime juice.
- 6. Discard lemongrass, galangal, and lime leaves; garnish with cilantro and scallions; serve.
Why You’ll Love This Recipe
- Balanced and bright: creamy coconut meets citrusy lime and fragrant Thai herbs.
- Weeknight-friendly: done in about 40 minutes with supermarket ingredients.
- Silky, comforting broth that feels special yet is easy to master at home.
- Customizable heat: use mild chilies or go classic with bird’s eye chilies.
Grocery List
- Produce: Lemongrass, galangal (or ginger), kaffir lime leaves (or lime zest), Thai bird’s eye chilies (or red jalapeño), shallots, mushrooms, cilantro, scallions, limes, optional Roma tomato.
- Dairy: None.
- Pantry: Full-fat coconut milk, low-sodium chicken stock, fish sauce, palm sugar (or light brown sugar), white pepper (optional), jasmine rice (optional), chili oil or Thai roasted chili paste (nam prik pao, optional).
Full Ingredients
Aromatics
- 2 lemongrass stalks, white and light green parts only, cut into 2-inch pieces and lightly smashed
- 6 slices fresh galangal (about 1/8 inch thick; 1 oz/30 g)
- 6–8 kaffir lime leaves, torn to release oils
- 2 small shallots, thinly sliced
- 3 Thai bird’s eye chilies, halved lengthwise (remove seeds for less heat)
Soup Base
- 3 cups (720 ml) low-sodium chicken stock
- 2 cans (13.5 oz/400 ml each) full-fat coconut milk
Protein & Vegetables
- 1 lb (450 g) boneless skinless chicken thighs, thinly sliced across the grain
- 8 oz (225 g) mushrooms (straw, oyster, or cremini), sliced or quartered
- 1 small Roma tomato, cut into 6 wedges (optional, traditional in some versions)
Seasoning & Finish
- 2 1/2 tbsp fish sauce, plus more to taste
- 1 tbsp palm sugar or light brown sugar
- 3 tbsp freshly squeezed lime juice (about 2 limes), plus wedges for serving
- 1/2 tsp white pepper (optional)
Garnish
- 1/4 cup loosely packed cilantro leaves
- 2 scallions, thinly sliced
- Thinly sliced red chili, to taste
- Optional: 1–2 tsp chili oil or Thai roasted chili paste (nam prik pao) per bowl

Step-by-Step Instructions
Step 1: Prep the Thai aromatics
Trim the lemongrass to the white and pale green parts, then cut into 2-inch pieces and lightly smash with the side of a knife to bruise. Slice the galangal into thin coins. Tear the kaffir lime leaves in half. Halve the bird’s eye chilies lengthwise (remove seeds for less heat). Thinly slice the shallots. Keep everything ready by the stove.
Step 2: Infuse the stock
In a medium pot, combine the chicken stock, lemongrass, galangal, kaffir lime leaves, shallots, and chilies. Bring to a gentle simmer over medium heat, then reduce to low and simmer for 10 minutes to extract the flavors. Keep the pot partially covered to retain aroma.
Step 3: Build the coconut broth
Stir in the coconut milk and return to a gentle simmer (aim for 180–190°F/82–88°C). Avoid a rolling boil to prevent curdling. Add the mushrooms (and tomato wedges, if using). Simmer for 5 minutes until the mushrooms are just tender and the broth is fragrant and silky.
Step 4: Poach the chicken gently
Add the thinly sliced chicken to the barely simmering broth. Poach for 5–7 minutes, stirring occasionally, until the chicken is opaque and reaches 165°F/74°C. Skim any foam that rises for a clearer, cleaner broth. Keep the heat low; do not boil.
Step 5: Season and balance
Stir in the fish sauce, palm sugar, and optional white pepper. Turn off the heat and add the lime juice. Taste and adjust: add more fish sauce for saltiness, a pinch more sugar to round the edges, or extra lime to brighten. The goal is a creamy, tangy broth with a gentle savory backbone.
Step 6: Finish, strain out woody bits, and serve
Use tongs or a slotted spoon to remove the lemongrass, galangal slices, and kaffir lime leaves. Ladle the soup into warm bowls. Garnish with cilantro, scallions, and a few thin slices of red chili. Drizzle with chili oil or a spoon of Thai roasted chili paste if you like a hint of heat and color. Serve immediately with lime wedges and jasmine rice on the side.
Pro Tips
- Slice chicken thinly across the grain so it cooks evenly and stays tender in just a few minutes.
- Keep the coconut broth at a gentle simmer. Boiling vigorously can cause the coconut milk to split.
- Bruising lemongrass and tearing lime leaves dramatically increases their aroma extraction.
- Add lime juice after turning off the heat to preserve its bright citrus flavor.
- No galangal or lime leaves? Use ginger and wide strips of lime zest as a backup, then add an extra squeeze of lime at the end.
Variations
- Shrimp Tom Kha (Tom Kha Goong): Replace chicken with 1 lb (450 g) large shrimp, peeled and deveined. Add in Step 4 and cook 2–3 minutes until pink and just opaque.
- Vegetarian/Vegan: Use vegetable stock, firm tofu cubes (12 oz/340 g), and a vegan fish sauce alternative or light soy sauce. Add extra mushrooms for umami.
- Extra Creamy: Reduce stock to 2 cups (480 ml) and add an extra half can of coconut milk for a richer, thicker broth.
Storage & Make-Ahead
Refrigerate leftovers in an airtight container for up to 3 days. Reheat gently over low heat until steaming hot (165°F/74°C); avoid boiling. The aromatic broth (Steps 1–3 without chicken or lime juice) can be made 1 day ahead; strain out the woody aromatics, chill, then reheat and finish with chicken, seasonings, and lime just before serving. Freezing is best done with the infused broth only; add chicken, lime, and herbs after thawing and reheating for the best texture and flavor.
Nutrition (per serving)
Approximate: 540 calories; 43 g fat (36 g saturated); 11 g carbohydrates; 2 g fiber; 5 g sugars; 24 g protein; 1050 mg sodium. Values will vary based on exact products used.


Leave a Reply