Cambodian Soup Recipes: Sour Fish Soup with Tamarind

Updated November 3, 2026

Total time
55 min
prep 25 min · cook 30 min
Serves
6
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Cambodian Soup Recipes: Sour Fish Soup with Tamarind

Samlor machu trey is a Cambodian sour fish soup, usually made with fish, tamarind, aromatic lemongrass, and vegetables such as pineapple and tomato. Its bright, savory broth comes together in one pot, and the balance of sour, salty, and lightly sweet flavors can be adjusted to suit your table.

Ingredients

  • 8 cups (1.9 L) water
  • 1½ lb (680 g) firm white fish fillets, such as catfish, tilapia, or cod, cut into 1½-inch (4 cm) pieces
  • 2 stalks lemongrass, about 4 oz (115 g) total, outer leaves removed and lower portions bruised
  • 2 medium shallots, about 3 oz (85 g), thinly sliced
  • 3 garlic cloves, about ½ oz (15 g), minced
  • 1 tbsp (15 g) prahok, optional, or 1 tsp (5 g) shrimp paste as a substitute
  • 2 tbsp (30 ml) fish sauce, plus more to taste
  • 2 tbsp (30 ml) unsweetened tamarind concentrate, plus more to taste
  • 1 tbsp (12 g) granulated sugar
  • 2 cups (330 g) fresh pineapple, cut into bite-size pieces
  • 2 medium ripe tomatoes, about 10 oz (280 g), cut into wedges
  • 2 cups (100 g) mung bean sprouts, rinsed and drained
  • 1 cup (25 g) loosely packed sawtooth coriander or cilantro leaves, roughly chopped
  • ½ cup (15 g) Thai basil leaves, roughly torn
  • 1 small red or green chile, thinly sliced, optional
  • ¼ tsp (1 g) fine salt, only if needed after seasoning

Instructions

  1. Prepare the aromatics and fish. Remove the tough outer layers from the lemongrass, then bruise the tender lower stalks with the side of a knife so they release their fragrance. Slice the shallots, mince the garlic, and cut the fish into evenly sized pieces. Keep the fish refrigerated while you start the broth. If the fillets have pin bones, feel for them and pull them out with clean tweezers.
  2. Build the aromatic base. Set a large pot over medium heat and add ½ cup (120 ml) of the measured water. Add the shallots and garlic and cook for 2 minutes, stirring often, until softened but not browned. Stir in the prahok, if using, and cook for 1 minute to mellow its pungency. The paste can be strong; leaving it out makes the soup cleaner and milder, while the shrimp-paste substitute gives a similar savory depth but a slightly different aroma.
  3. Simmer the broth. Pour in the remaining 7½ cups (1.8 L) water and add the bruised lemongrass, fish sauce, tamarind concentrate, and sugar. Bring to a gentle boil, then reduce the heat and simmer uncovered for 10 minutes. Taste a spoonful. Tamarind concentrates vary in strength, so the broth should taste distinctly sour and savory without being harsh; add another teaspoon of tamarind if needed. Do not add much salt yet, since prahok and fish sauce both contribute saltiness.
  4. Cook the fruit and tomatoes. Add the pineapple and tomato wedges. Return the pot to a gentle simmer and cook for 8 minutes, until the pineapple is tender at the edges and the tomatoes begin to soften but still hold their shape. A rolling boil can break up the tomatoes and make the broth cloudy, so lower the heat if the surface bubbles vigorously.
  5. Poach the fish. Slide the fish pieces into the broth in a single layer as much as possible. Keep the soup at a quiet simmer for 5 to 7 minutes, depending on the thickness of the pieces; turn them carefully once if they are not submerged. Check the thickest piece with a food thermometer: USDA FSIS guidance sets the safe minimum internal temperature for fish at 145°F (63°C). The flesh should also look opaque and separate easily into flakes. Avoid stirring hard, which can break the fish apart.
  6. Finish and season. Stir in the bean sprouts and cook for 1 minute, then turn off the heat and fold in the sawtooth coriander or cilantro and Thai basil. Taste the broth and adjust with fish sauce for saltiness, tamarind for sourness, or a small pinch of sugar if the sourness feels sharp. Add the sliced chile if you want heat. Remove the lemongrass before serving, or leave it in the pot and tell diners not to eat the woody stalks.

Tips

  • Choose fish that holds together. Catfish is a familiar choice for this style of soup, while cod, tilapia, or another firm white fish works well too. Thin, delicate fillets cook quickly and may break into flakes, so cut them larger and handle them gently. If using frozen fish, thaw it in the refrigerator and pat it dry before cutting.
  • Adjust sourness gradually. Tamarind concentrate brands differ, and some are much more intense than others. Start with the listed amount, taste after simmering, and add more in small increments. If you only have tamarind pulp, soak about 1 oz (28 g) in ½ cup (120 ml) hot water for 10 minutes, mash it, and strain it; use the strained liquid a spoonful at a time.
  • Use prahok thoughtfully. Prahok is a traditional fermented fish paste that can be sold in Cambodian or Southeast Asian grocery stores. It adds a pronounced savory, fermented note, but the soup is still enjoyable without it. If you substitute shrimp paste, use a smaller amount because its saltiness and flavor can be more concentrated, then taste before adding extra fish sauce.
  • Keep the broth gentle. A steady simmer cooks fish evenly while preserving its shape. Once the fish goes in, avoid vigorous boiling or repeated stirring. Add the tender herbs at the very end so their fresh aroma remains noticeable rather than fading into the broth.

Serving Suggestions

Serve the soup hot in deep bowls, making sure each portion gets fish, pineapple, tomato, sprouts, and plenty of broth. Steamed jasmine rice is the classic, practical partner: serve it in a separate bowl or spoon it directly into the soup so it absorbs the sour-savory liquid. For a lighter meal, offer rice on the side and let each person decide how much to add.

Put extra lime wedges, sliced chiles, and a small dish of fish sauce on the table for individual adjustment. Lime is optional rather than essential because tamarind already gives the broth its characteristic tartness; adding a squeeze can make an already-sour bowl too sharp, so taste first. A plate of cucumber or lightly blanched greens provides a cool, crisp contrast. If serving a group, keep the soup warm over very low heat, but do not continue boiling it after the fish is cooked.

Variations

Cambodian sour soups have regional and family variations, so the combination of souring agent, vegetables, herbs, and fish is not fixed. Some cooks lean on tamarind, while others use a different balance of sour fruit or add more prahok for a deeper fermented flavor. This version uses tamarind, pineapple, and tomato for a rounded, accessible broth; changing their proportions will shift the balance without making the pot difficult to manage.

For a more vegetable-forward soup, replace up to 1 cup (150 g) of the pineapple with sliced okra or additional tomato. Okra thickens the broth slightly, so add it with the tomatoes and simmer until tender. To make the soup hotter, add chile to the pot near the end; for a gentler family-style version, leave it out and pass sliced chile at the table. You can also use chopped cilantro in place of sawtooth coriander, though its flavor is less citrusy and slightly different.

For a shellfish variation, use peeled shrimp instead of fish and cook until opaque and firm, checking with a thermometer for the same 145°F (63°C) safe minimum for seafood. Shrimp often cooks faster than thick fish pieces, so add it near the end and check early to avoid a rubbery texture. If you prefer a meatless broth, omit the fish and prahok and use a vegetarian fish-sauce alternative; the result will be a different soup, but tamarind, lemongrass, pineapple, and herbs still create a fragrant sour broth.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking in a shallow, covered container. The soup keeps for 3 to 4 days in the refrigerator. The fish may soften and the herbs will lose their fresh color over time, so for the best texture, store extra chopped herbs separately and add them when serving. Do not leave the pot at room temperature for longer than 2 hours.

Reheat only the amount you plan to eat in a saucepan over medium-low heat, stirring carefully until it is steaming throughout and reaches 165°F (74°C), the USDA FSIS safe temperature for leftovers. Avoid a hard boil, which can break up the fish. You can also reheat a portion in the microwave in a covered, microwave-safe bowl, stirring gently midway through and checking the temperature in more than one spot. Freezing is possible for up to 2 months, though the fish and vegetables will be softer after thawing; thaw overnight in the refrigerator and reheat to 165°F (74°C).

Frequently Asked Questions

What does samlor machu trey mean?
It is a commonly used Khmer name for sour fish soup: “samlor” refers to soup, “machu” to sour, and “trey” to fish. Romanized Khmer spellings and the exact soup ingredients can vary. The recipe here is one home-style approach built around fish, tamarind, aromatics, and vegetables rather than a claim to a single definitive version.

Can I make this Cambodian soup without prahok?
Yes. Prahok adds a distinctive fermented savoriness, but it is optional in this recipe. Leave it out and use the listed fish sauce, tasting the broth before adding more. A little shrimp paste is another option, although it changes the aroma and can be salty. If using it, begin with less than the prahok amount and adjust carefully.

Can I use tamarind pulp instead of concentrate?
Yes. Soak about 1 oz (28 g) tamarind pulp in ½ cup (120 ml) hot water for 10 minutes, mash it, and strain out the fibers and seeds. Start by adding a few tablespoons of the strained liquid to the broth, then taste and add more. Pulp strength varies, and its acidity may be milder than a concentrated product.

Which fish is best for sour fish soup?
Choose a firm, mild fish that can be cut into thick pieces and gently poached. Catfish, cod, and tilapia are useful options, but other firm white fish can work. Avoid very thin fillets if you want neat chunks; they can cook quickly and fall apart. Keep the fish chilled until it is time to add it to the simmering broth.

Can I prepare the soup ahead?
You can make the broth with the aromatics, tamarind, pineapple, and tomatoes up to a day ahead, then refrigerate it promptly. Reheat it to a simmer and add the fish shortly before serving so the fish stays tender. If the broth tastes more concentrated after chilling, loosen it with a little water and rebalance the sourness and salt before serving.

How can I make the soup less sour or less salty?
For less sourness, start with less tamarind and increase it gradually; a small pinch of sugar can soften sharp edges, though it will not remove acidity. For less salt, omit the optional salt, use less prahok or fish sauce, and add a little water to the finished broth. Taste after each adjustment rather than correcting the whole pot at once.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).