Americanized
🇹🇭 nationwide

Tom Kha Gai (Thai Chicken Soup with Coconut and Galangal)

Boneless chicken thighs simmered in stock with sliced galangal, lemongrass, shallots and fish sauce, then a pounded galangal infusion, makrut lime leaves, Thai chiles and coconut cream stirred in off the heat, seasoned with equal parts fish sauce and lime juice.

Prep10 min
Cook25 min
Total35 min
Serves4
Cal / serving~540
Tom Kha Gai (Thai Chicken Soup with Coconut and Galangal)
AI-generated image of the finished dish. About our photos.

Tom kha gai means "chicken galangal soup," and Serious Eats' Derek Lucci points out that tom kha translates to "boiled galangal," so the galangal is not negotiable. Wikipedia describes it as a spicy and sour hot soup with coconut milk, says it originated around 1890 and was first recorded in a Thai recipe book, and that the earliest recorded version, tom kha pet, used duck and young galangal in a coconut milk curry before chicken became the more popular choice. It shares most of its base with tom yum; the coconut is what makes it creamy, milder and sweeter.

Lucci writes that tom kha gai has a spot on nearly every Thai restaurant menu in the West but often tastes like "a warm smoothie" from too much coconut cream and too little galangal. His fix is a galangal stock: galangal pounded in a mortar and steeped in warm chicken stock, with the coconut cream cut by a rich, well-seasoned stock and added only at the very end.

Why it works the kitchen science

A galangal infusion

Pounding galangal and pressing warm stock through it pulls out its peppery, piney flavor fast, so the soup tastes clearly of galangal instead of only coconut.

Coconut last, off the heat

Stirring in the coconut cream, lime leaves and chiles at the end keeps the coconut fresh and the aromatics bright, and stock does most of the work so the soup is creamy without tasting like a smoothie.

Step by step

  1. Step 1

    Pound the 50 g piece of galangal in a granite mortar into a coarse paste, about 30 seconds.

  2. Step 2

    Warm 1 cup stock to a simmer in a 2-quart saucepan over medium heat and take it off the heat. Pour a third of it over the galangal and press with the pestle about 1 minute; repeat with the rest of the stock, then leave it to infuse.

  3. Step 3

    In the empty saucepan, combine the 2 2/3 cups stock, sliced galangal, lemongrass, shallots and 1 tbsp fish sauce and bring to a boil over high heat.

  4. Step 4

    Add the chicken, return to a boil, then lower the heat to a simmer, cover and cook until tender and the thickest piece reads 165°F, about 20 minutes.

  5. Step 5

    Strain the galangal stock into the pot through a fine-mesh strainer, pressing hard on the solids. Stir in the lime leaves, chiles and coconut cream and take the pot off the heat.

  6. Step 6

    Stir in the lime juice and the remaining 3 tbsp fish sauce, taste, and serve in warmed bowls with cilantro, with jasmine rice on the side.

Tom Kha Gai (Thai Chicken Soup with Coconut and Galangal)

Serves 4 · about 6 cups · 35 min total

Galangal stock

  • 1 cup homemade or store-bought chicken stock (unsalted if possible)
  • 1 (4-inch) piece fresh galangal (about 50 g), peeled

Soup

  • 2 2/3 cups homemade or store-bought chicken stock
  • 1 (4-inch) piece fresh galangal (about 50 g), peeled and thinly sliced
  • 3 stalks lemongrass, bottom 7 inches only, outer leaves removed, cut on a bias into 2-inch lengths
  • 2 medium shallots, peeled and lightly smashed
  • 1/4 cup fish sauce, divided
  • 2 1/4 lb (1,020 g) boneless, skinless chicken thighs
  • 10 fresh or frozen makrut lime leaves, center ribs removed
  • 5 to 9 fresh Thai red chiles, stemmed and lightly smashed
  • 1 cup full-fat coconut cream, stirred well
  • 1/4 cup fresh lime juice (from 2 limes)
  • Cilantro leaves, to garnish
  • Jasmine rice, to serve

Method

  1. Pound the 50 g piece of galangal in a granite mortar into a coarse paste, about 30 seconds.
  2. Warm 1 cup stock to a simmer in a 2-quart saucepan over medium heat and take it off the heat. Pour a third of it over the galangal and press with the pestle about 1 minute; repeat with the rest of the stock, then leave it to infuse.
  3. In the empty saucepan, combine the 2 2/3 cups stock, sliced galangal, lemongrass, shallots and 1 tbsp fish sauce and bring to a boil over high heat.
  4. Add the chicken, return to a boil, then lower the heat to a simmer, cover and cook until tender and the thickest piece reads 165°F, about 20 minutes.
  5. Strain the galangal stock into the pot through a fine-mesh strainer, pressing hard on the solids. Stir in the lime leaves, chiles and coconut cream and take the pot off the heat.
  6. Stir in the lime juice and the remaining 3 tbsp fish sauce, taste, and serve in warmed bowls with cilantro, with jasmine rice on the side.
Estimated 540 calories per serving. How we estimate.

Adapted from Derek Lucci, "Tom Kha Gai (Thai Chicken Soup with Coconut and Galangal)", Serious Eats (updated March 20, 2025), serves 4. We follow it as written: 1 cup warm stock pressed over 50 g pounded galangal and left to infuse; 2 2/3 cups stock with 50 g sliced galangal, 3 stalks lemongrass, 2 shallots and 1 tbsp fish sauce brought to a boil; 1,020 g boneless, skinless thighs simmered covered about 20 minutes; the galangal stock strained in; 10 makrut lime leaves, 5 to 9 Thai chiles and 1 cup coconut cream off the heat; 1/4 cup lime juice and the remaining fish sauce. The 165°F check is ours. Serious Eats. Ingredient list follows the source; the method is in our own words.

All sources (2)
  1. seriouseats.com
  2. en.wikipedia.org

Tips

The rules people argue about

What the sources agree on, what they don't, and what is just a good story.

📬 One email a weekThis week's debate results and three recipes.

Every other chicken soup

Chicken Soup with Matzo Balls
🕯️ Ashkenazi Jewish diaspora

Chicken Soup with Matzo Balls

A golden broth simmered from a whole chicken with carrots, celery, dill and an unpeeled onion, with light schmaltz-and-seltzer matzo balls poached in salted water, then finished in the broth with carrot, parsnip, shredded chicken and fresh dill.

3 hr 15 min · serves 6 · about 290 cal
Pho Ga (Vietnamese Chicken Noodle Soup)
🇻🇳 Vietnam

Pho Ga (Vietnamese Chicken Noodle Soup)

A clear broth from a whole chicken and extra backs, perfumed with charred onion and ginger, toasted coriander seed, cloves and cilantro, ladled boiling hot over flat rice noodles, sliced poached chicken, paper-thin onion and herbs, with bean sprouts, basil, chiles and lime at the table.

3 hr 15 min · serves 8 · about 690 cal
Caldo de Pollo (Mexican Chicken Soup)
🇲🇽 Mexico

Caldo de Pollo (Mexican Chicken Soup)

A whole chicken simmered gently with onion, garlic, celery and cilantro, then carrots, potatoes and chayote, served in big bowls over white rice with avocado, chopped onion, cilantro, serrano and lime, and warm corn tortillas on the side.

1 hr 15 min · serves 8 · about 410 cal
Avgolemono (Greek Lemon-Egg Chicken Soup)
🇬🇷 Greece

Avgolemono (Greek Lemon-Egg Chicken Soup)

Chicken breasts poached in stock, rice or orzo cooked in the same pot, and five eggs tempered with hot broth until the soup turns silky and pale gold, then sharpened with lemon juice to taste and finished with the chicken and fresh dill.

1 hr 15 min · serves 4 · about 350 cal
Tinola (Filipino Ginger Chicken Soup with Green Papaya)
🇵🇭 Philippines

Tinola (Filipino Ginger Chicken Soup with Green Papaya)

Bone-in chicken browned with onion, lots of ginger and garlic, seasoned with fish sauce and simmered in water until tender, then finished with wedges of green papaya and a bunch of spinach (or chili leaves or malunggay), served hot with steamed rice.

1 hr 5 min · serves 4 · about 630 cal
Samgyetang (Korean Ginseng Chicken Soup)
🇰🇷 South Korea

Samgyetang (Korean Ginseng Chicken Soup)

Two Cornish hens stuffed with soaked short-grain rice, fresh ginseng, a jujube and eight garlic cloves each, simmered whole for over an hour until the rice is soft and the broth milky, served one hen per bowl with green onion, black pepper, kimchi and two dipping sauces.

2 hr 25 min · serves 2 · about 1200 cal
Ajiaco (Bogotá Chicken and Three-Potato Soup)
🇨🇴 Colombia

Ajiaco (Bogotá Chicken and Three-Potato Soup)

Chicken breast, three kinds of potato and the herb guascas simmered in stock until the starchy potatoes fall apart and thicken the soup, with chunks of corn on the cob, served with shredded chicken, capers, thinned sour cream, avocado and a fresh onion and cilantro ají.

1 hr 40 min · serves 6 · about 480 cal
Aguadito de Pollo (Peruvian Cilantro Chicken and Rice Soup)
🇵🇪 Peru

Aguadito de Pollo (Peruvian Cilantro Chicken and Rice Soup)

Browned bone-in chicken thighs and drumsticks simmered with onion, red bell pepper, cumin and rice in broth blended with cilantro, serrano and garlic, then brightened with a second fresh cilantro puree, sweet corn and lots of lime.

1 hr · serves 4 · about 330 cal
Classic American Chicken Noodle Soup
🇺🇸 United States

Classic American Chicken Noodle Soup

A rich homemade broth from browned chicken thighs with onion and bay, chicken breasts poached in it and shredded, then onion, carrot, celery and thyme simmered in the strained broth with wide egg noodles and finished with parsley.

1 hr 55 min · serves 8 · about 200 cal
Pennsylvania Dutch Chicken Corn Soup with Rivels
🇺🇸 United States

Pennsylvania Dutch Chicken Corn Soup with Rivels

Chicken thighs and breast poached in broth with the stripped corn cobs, then pea-size egg-and-flour rivels and fresh corn, half cut and half grated, simmered until tender, finished with shredded chicken and parsley and topped with chopped hard-cooked egg.

2 hr · serves 6 · about 360 cal
30-Minute Rotisserie Chicken Noodle Soup
🇺🇸 United States

30-Minute Rotisserie Chicken Noodle Soup

Onion, celery, carrots and thyme browned in butter, simmered in store-bought broth, then egg noodles cooked right in the pot, with the shredded meat of a supermarket rotisserie chicken and frozen peas stirred in at the end, in 30 minutes.

30 min · serves 4 · about 470 cal
Creamy Chicken and Gnocchi Soup, Inspired by Olive Garden
🇺🇸 United States

Creamy Chicken and Gnocchi Soup, Inspired by Olive Garden

Inspired by, not official: celery, shredded carrot, onion and garlic softened in butter, thickened with flour and chicken broth, then store-bought potato gnocchi, cooked chicken, baby spinach, heavy cream and thyme, in one pot in 40 minutes.

40 min · serves 8 · about 320 cal

Meatballs of the World

Italian-American Meatballs
🇺🇸 United States

Italian-American Meatballs

Big, tender meatballs braised for an hour in red sauce over spaghetti. The one most Americans grew up with.

2 hr 25 min · serves 4 · about 1040 cal
Pallottine (Abruzzo Meatballs)
🇮🇹 Italy

Pallottine (Abruzzo Meatballs)

Tiny meatballs, smaller than a marble, tossed right through square spaghetti alla chitarra. No bread at all.

2 hr · serves 3 · about 1280 cal
Swedish Meatballs (Köttbullar)
🇸🇪 Sweden

Swedish Meatballs (Köttbullar)

Small, soft meatballs browned in butter, in a cream sauce made from the same pan, with lingonberry jam on the plate.

45 min · serves 4 · about 680 cal
Danish Frikadeller
🇩🇰 Denmark

Danish Frikadeller

Pork meatballs shaped with a spoon and fried slowly in butter, crusty outside and soft in the middle.

1 hr 5 min · serves 4 · about 410 cal
Königsberger Klopse
🇩🇪 Germany

Königsberger Klopse

German meatballs that are never fried: poached, then served in a creamy white sauce with capers.

1 hr · serves 4 · about 570 cal
Spanish Albóndigas in Almond Saffron Sauce
🇪🇸 Spain

Spanish Albóndigas in Almond Saffron Sauce

The tapas bar classic: small meatballs in a golden sauce thickened with fried almonds and bread.

1 hr 15 min · serves 6 · about 580 cal
Mexican Albóndigas with Chipotle and Mint
🇲🇽 Mexico

Mexican Albóndigas with Chipotle and Mint

Soft meatballs with rice and fresh mint inside, simmered in a smoky tomato and chipotle broth.

1 hr 10 min · serves 8 · about 320 cal
Izgara Köfte (Turkish Grilled Meatballs)
🇹🇷 Turkey

Izgara Köfte (Turkish Grilled Meatballs)

Small, flat meatballs kneaded hard, rested cold, and charred on a hot grill pan.

1 hr 15 min · serves 4 · about 460 cal
Lion's Head Meatballs
🇨🇳 China

Lion's Head Meatballs

Big, soft pork meatballs, stirred into a sticky paste, fried to set, then braised in a savory sauce.

55 min · serves 4 · about 510 cal
Chicken Tsukune
🇯🇵 Japan

Chicken Tsukune

Japan's chicken meatball: kneaded sticky, grilled on skewers, glazed with sweet soy tare, dipped in egg yolk.

40 min · serves 3 · about 420 cal