This creamy Thai coconut soup combines tender chicken meatballs with the aromatic flavors of galangal, lemongrass, and kaffir lime leaves. Tom Kha Gai is one of Thailand’s most beloved soups, and adding meatballs makes it a complete, satisfying meal ready in just 35 minutes.
The key to authentic Tom Kha is balancing sour, salty, sweet, and creamy flavors. The galangal provides a sharp, peppery warmth that differs from ginger, while lemongrass adds citrusy depth. Kaffir lime leaves contribute an unmistakable floral-citrus aroma that defines this classic Thai soup.
Key Takeaways
- Tom Kha Gai means “boiled galangal chicken” - the galangal is the star aromatic
- Balance the four flavors: sour (lime), salty (fish sauce), sweet (palm sugar), creamy (coconut milk)
- Bruise lemongrass and kaffir lime leaves to release their essential oils
- Meatballs can be made ahead and frozen for quick weeknight meals
- Serve with steamed jasmine rice for a complete dinner
How to Make Thai Coconut Meatball Soup
-
Make the meatball mixture: In a large bowl, combine ground chicken, breadcrumbs, egg, minced garlic, fish sauce, and chopped cilantro. Mix gently with your hands until just combined - do not overmix or the meatballs will be tough.
-
Form the meatballs: Roll the mixture into 1-inch balls using wet hands to prevent sticking. You should get about 20-24 meatballs.
-
Brown the meatballs: Heat 1 tablespoon of vegetable oil in a large pot over medium-high heat. Add meatballs in batches, being careful not to crowd the pot. Brown for 3 to 4 minutes per side until golden. Remove and set aside on a plate.
-
Build the aromatic broth: In the same pot (no need to clean), pour in the coconut milk and chicken broth. Add the sliced galangal, bruised lemongrass pieces, and torn kaffir lime leaves. Bring to a gentle simmer over medium heat.
-
Infuse the flavors: Let the broth simmer gently for 10 minutes. This step is crucial - it allows the aromatics to release their essential oils into the coconut broth. Do not rush this step.
-
Add mushrooms and meatballs: Add the sliced mushrooms and browned meatballs to the pot. Simmer for 5 to 7 minutes until the meatballs are cooked through and the mushrooms are tender.
-
Season and finish: Stir in fish sauce, palm sugar, and fresh lime juice. Taste the broth - it should be a balance of creamy, tangy, savory, and slightly sweet. Adjust fish sauce for salt, lime for sourness, or sugar for sweetness as needed.
-
Serve immediately: Ladle into bowls and garnish with fresh cilantro leaves and sliced red chili. Serve with steamed jasmine rice on the side.
Ingredients
For the Meatballs
| Ingredient | Amount | Notes |
|---|---|---|
| Ground chicken | 1 lb | thigh meat for extra flavor |
| Breadcrumbs | 2 tablespoons | panko works well |
| Egg | 1 large | helps bind the mixture |
| Garlic | 2 cloves | minced finely |
| Fish sauce | 1 tablespoon | adds umami depth |
| Fresh cilantro | 1 tablespoon | chopped fine |
For the Soup
| Ingredient | Amount | Notes |
|---|---|---|
| Coconut milk | 2 cans (13.5 oz each) | full-fat for best results |
| Chicken broth | 2 cups | low-sodium preferred |
| Galangal | 3 slices | peeled, thinly sliced |
| Lemongrass | 2 stalks | bruised, cut into 2-inch pieces |
| Kaffir lime leaves | 4 leaves | torn to release oils |
| Mushrooms | 1 cup | straw mushrooms or button |
| Red chili | 1 | sliced for garnish |
| Fish sauce | 2 tablespoons | to taste |
| Palm sugar | 1 tablespoon | or brown sugar |
| Lime juice | 3 tablespoons | fresh squeezed |
| Fresh cilantro | for garnish |
Tips for Perfect Tom Kha Gai Meatballs
Galangal vs. Ginger: Galangal has a sharper, more peppery flavor than ginger. It is essential for authentic Tom Kha. If you cannot find fresh galangal, frozen slices work better than dried. Do not substitute ginger - the flavor profile will be completely different.
Bruising Aromatics: Use the back of a knife to bruise lemongrass stalks before adding to the pot. This breaks the cell walls and releases the aromatic oils. Tear kaffir lime leaves by hand rather than cutting - tearing releases more flavor.
Coconut Milk Quality: Use full-fat coconut milk for the creamiest broth. Light coconut milk will make the soup thin and less flavorful. The fat in full-fat coconut milk carries the aromatic flavors beautifully.
Balancing Flavors: The hallmark of great Tom Kha is the balance of sour, salty, sweet, and creamy. Taste before serving and adjust: more lime for tang, more fish sauce for salt, more sugar for sweetness.
Make-Ahead Meatballs: Form the meatballs and place on a parchment-lined baking sheet. Freeze for 2 hours, then transfer to a freezer bag. They keep for up to 3 months. Cook directly from frozen - add 2-3 minutes to the simmering time.
What to Serve with Tom Kha Gai Meatballs
This soup is hearty enough to be a complete meal on its own, but pairing it with steamed jasmine rice makes it more satisfying. The rice absorbs the creamy coconut broth beautifully.
For a lighter option, serve with rice noodles cooked separately and added to individual bowls. The noodles soak up the broth and add a comforting texture.
A simple side of steamed vegetables - baby bok choy or Chinese broccoli - adds color and nutrition without competing with the soup’s complex flavors.
Storage and Reheating
Refrigerator: Store leftover soup in an airtight container for up to 3 days. The flavors actually improve overnight as the aromatics continue to infuse the broth.
Freezer: The soup freezes well for up to 2 months. Note that the coconut milk may separate slightly upon thawing - simply whisk gently while reheating to re-emulsify.
Reheating: Warm gently over medium-low heat. Do not boil aggressively, as this can cause the coconut milk to break. If the soup has thickened, add a splash of chicken broth to reach your desired consistency.
Variations
Tom Kha Goong (Shrimp): Replace chicken meatballs with 1 lb large shrimp. Add shrimp during the last 3-4 minutes of cooking - they cook quickly and will become rubbery if overcooked.
Vegetarian Tom Kha: Use firm tofu cubes instead of meatballs and vegetable broth instead of chicken broth. The aromatics and coconut milk create a rich, satisfying vegetarian soup.
Extra Spicy: Add Thai bird’s eye chilies to the broth while simmering for more heat. Or serve with a side of roasted chili paste (nam prik pao) for diners to add their own heat level.
Mushroom Variation: Use a mix of shiitake, oyster, and straw mushrooms for more earthy depth and varied textures.
Frequently Asked Questions
Can I use ginger instead of galangal?
While ginger and galangal look similar, they have very different flavors. Galangal has a sharper, more citrusy, peppery taste that is essential for authentic Tom Kha. Ginger is warmer and more pungent. For the best results, seek out galangal at Asian markets - it is often available frozen. If you absolutely cannot find it, use half the amount of ginger, but the soup will taste noticeably different.
How do I bruise lemongrass properly?
Remove the tough outer layers and the top third of the stalk. Cut the remaining tender bottom portion into 2-3 inch pieces. Use the back of a heavy knife or a meat mallet to gently smash each piece until it splits slightly. This breaks the cell walls and releases the aromatic oils into the broth.
Can I make this soup dairy-free?
Tom Kha Gai is naturally dairy-free since it uses coconut milk instead of cream. Just ensure your meatball mixture does not contain any dairy ingredients. The recipe as written is completely dairy-free.
What mushrooms work best?
Straw mushrooms are traditional in Thai cooking and have a delicate, slightly chewy texture. If unavailable, button mushrooms or cremini mushrooms work well. Shiitake mushrooms add a deeper, more earthy flavor. Avoid very soft mushrooms like enoki, which can become mushy in the broth.
How do I know when the meatballs are cooked through?
Cut one meatball open to check - the center should be opaque with no pink remaining. The internal temperature should reach 165°F (74°C). Since the meatballs are small (1 inch), they typically cook through in 5-7 minutes of simmering in the broth.
Can I use ground pork or beef instead of chicken?
Yes, ground pork works beautifully and creates a richer, more savory meatball. Ground beef will work but produces a denser, heavier meatball. For the most authentic Tom Kha, chicken is traditional, but pork is a popular and delicious alternative.
Related Recipes
- Thai Red Curry Meatballs - Another creamy coconut-based Thai meatball dish
- Thai Basil Meatballs (Pad Kra Pao) - Quick stir-fry with holy basil and chilies
- Indonesian Bakso Meatball Soup - Bouncy beef meatballs in clear broth
- Vietnamese Meatball Pho - Springy beef meatballs in aromatic broth
- Thai Green Curry Meatballs - Spicy green curry with coconut milk
Sources
- Serious Eats - Tom Kha Gai - Authentic Tom Kha technique
- Thai Food Online - Galangal - Galangal vs ginger comparison
- Hot Thai Kitchen - Tom Kha - Traditional Thai cooking methods
