
Where it comes from
Tom som pla is the Central Thai sour fish soup, distinct from Southern Thai kaeng som which uses a chile-turmeric paste and is far more aggressive. Tom som's restraint reflects its position in the meal — a freshwater-fish soup served alongside richer mains rather than as a hot main itself. Chao Phraya basin households built it around whatever fish the canal yielded that morning; snakehead is traditional because it holds shape in broth, but tilapia, grouper, or sea bass are common substitutes.
On the plate
A pale, almost colorless broth with the sour edge of tamarind and the warmth of white pepper — no red, no chile float, no curry-paste cloudiness. The fish is just-cooked, breaking into firm flakes that taste of clean river-fish, not of seasoning. The soup tastes light against the chest where kaeng som would burn. If yours is orange and chile-hot, the cook accidentally made kaeng som — the line between the two is mostly chile paste plus turmeric.
How it works
Tom som pla and kaeng som are paste-cousins, not the same dish: kaeng som uses a fresh-chile-and-turmeric paste pounded with shrimp paste; tom som pla uses none of that — only allium, ginger, white pepper, tamarind. Drop in chile paste and the soup ceases to be tom som. The fish is poached, not boiled — boiling tears delicate freshwater flesh, and a torn fish steak floats fragments through the broth that cloud it.
Central Thai sour fish soup — distinct from Pak Tai kaeng som, which uses a chili-turmeric paste and is far more aggressive. No chili paste, no turmeric: only allium, ginger, white pepper, tamarind. The fish is poached, not boiled — boiling tears delicate freshwater flesh and clouds the broth with fragments.
Variations
Pla chon (snakehead) is the canonical Chao Phraya basin choice; pla nin (tilapia) and grouper appear in Bangkok shophouses; Phetchaburi cooks add green mango for extra sour; Ayutthaya households use pla taphian (silver barb); Bangkok's Krua Apsorn plates the snakehead version with charred shallot and fresh dill.
On the Palate
Ingredients
Serves 4How it's made
6 steps · Show ↓25 min active · 10 min waiting
How it's made
6 steps · Show ↓- 110 min
Scale, gut, and clean a 700g whole snakehead (pla chon) or small grouper. Cut crosswise into 3cm steaks. Pat dry and rub lightly with salt; rest 10 minutes.
- 210 min
Bring 1.2L water to a simmer with 6 sliced shallots, a 5cm piece of ginger sliced thin, 4 smashed garlic cloves, and 1 tsp lightly cracked white peppercorns. Simmer 8 minutes — broth turns straw-pale and pungent with allium.
Watch outEnsure the broth does not boil vigorously, as it can cloud the liquid.
- 31 min
Stir in 4 tbsp tamarind concentrate. The broth should taste sharply sour at this point — that's correct.
- 48 min
Slide in the fish steaks. Simmer at the barest tremble for 6-8 minutes — fish flesh just opaque to the bone, no harder. Boiling will tear the flesh.
Watch outCheck for doneness by ensuring the flesh is just opaque; overcooking will result in a tough texture.
- 52 min
Off heat. Add 3 tbsp fish sauce, 1 tsp palm sugar, and 2 tbsp lime juice. Taste — should be sour-first, salt-second, fish-clean underneath, with white pepper warming the throat. Adjust tamarind or fish sauce.
- 62 min
Ladle each fish steak into a bowl with broth. Top with cilantro, sliced spring onion, and a final crack of white pepper. Serve with rice.






