Cambodian Fish Soup with Lemongrass, Lime, and Herbs

Updated November 3, 2026

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

Jump to recipe

Cambodian Fish Soup with Lemongrass, Lime, and Herbs

Cambodian fish soup, often made in a sour style known as samlor machu trey, pairs tender fish with tamarind, lemongrass, pineapple, and fresh herbs in a light, tangy broth. Recipes vary by household and region; this approachable version balances sour, savory, and gently sweet flavors, then gets finished with lime and herbs at the table.

Ingredients

  • 1½ lb (680 g) firm white fish fillets, such as cod, catfish, or tilapia, thawed if frozen and cut into 1½-inch (4 cm) pieces
  • 6 cups (1.4 L) low-sodium fish stock or water; stock gives the soup a fuller seafood flavor
  • 2 lemongrass stalks (about 40 g), tough outer layers removed, stalks cut into 3-inch (7.5 cm) lengths and lightly bruised
  • 1-inch (2.5 cm) piece fresh galangal, about 15 g, thinly sliced; ginger is a practical substitute, with a warmer, less piney flavor
  • 2 medium shallots (about 60 g), thinly sliced
  • 3 garlic cloves (about 9 g), lightly crushed or chopped
  • 2 tablespoons (30 g) unsweetened tamarind concentrate or paste; start with less if your brand is especially sharp
  • 2 tablespoons (30 ml) fish sauce, plus more to taste
  • 1 tablespoon (12 g) grated palm sugar or light brown sugar
  • 1½ cups (225 g) fresh pineapple, cut into bite-size pieces
  • 2 medium ripe tomatoes (about 300 g), cut into wedges
  • 1 cup (100 g) long beans, cut into 2-inch (5 cm) lengths; green beans work as a substitute
  • ½ teaspoon (3 g) fine salt, or to taste, depending on the saltiness of the stock
  • ¼ teaspoon (0.5 g) freshly ground black pepper
  • 2 tablespoons (30 ml) fresh lime juice, usually from 1 lime, plus lime wedges for serving
  • ½ cup loosely packed rice paddy herb leaves (about 10 g), roughly torn; if unavailable, use a mix of cilantro and Thai basil, which gives a different but fresh aroma
  • ¼ cup (10 g) chopped cilantro leaves and tender stems
  • 1 small red or green bird’s-eye chile, thinly sliced, optional

Instructions

  1. Prepare the ingredients, 25 minutes. Cut the fish into even pieces so they cook at roughly the same rate. Slice the shallots and galangal, crush the garlic, cut the vegetables and pineapple, and tear the herbs. Bruise the lemongrass with the side of a knife to release its aroma, but leave the pieces large enough to spot and remove later. Keep the fish chilled while you prepare everything else.
  2. Build the aromatic broth, 10 minutes. Put the stock or water in a medium soup pot with the lemongrass, galangal, shallots, and garlic. Bring it to a gentle boil over medium-high heat, then lower the heat and simmer for 10 minutes. The broth should smell fragrant, not aggressively herbal. If it boils hard, reduce the heat; a rolling boil can make the finished soup cloudy and roughen the fish when it is added.
  3. Season the base. Stir in the tamarind, fish sauce, palm sugar, salt, and black pepper. Add the tamarind a little at a time if you are unsure how concentrated it is. Taste a spoonful of broth: it should be distinctly sour and savory, with just enough sweetness to round the edges. Add a little more fish sauce for saltiness or a small splash of water if it is too intense. This brief adjustment now is easier than trying to correct the soup after the fish is cooked.
  4. Simmer the vegetables, 5 minutes. Add the pineapple, tomato wedges, and long beans. Return the pot to a gentle simmer and cook for 5 minutes, until the tomatoes begin to soften and the beans are nearly tender but still hold their shape. Fresh pineapple brings a bright, fruity tartness; canned pineapple can be used if drained well, though it is often sweeter and softer.
  5. Cook the fish, about 6 minutes. Lower the fish pieces carefully into the simmering broth and stir once, gently, to separate them. Keep the soup at a steady low simmer rather than a vigorous boil. Cook for about 5 to 7 minutes, depending on the thickness of the pieces. 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 be opaque and separate easily into flakes.
  6. Finish the soup, 2 minutes. Turn off the heat and stir in the lime juice, rice paddy herb, and cilantro. Taste again and adjust with more lime for brightness, fish sauce for savoriness, or a pinch of sugar if the tamarind is unusually sharp. Add the sliced chile if you want heat. Remove the lemongrass and galangal before serving, or leave them in the pot and remind diners not to eat the fibrous pieces.
  7. Serve, 1 minute. Ladle the broth, vegetables, and fish into warm bowls, making sure each serving gets a good mix of ingredients. Offer extra lime wedges and herbs at the table. Serve promptly while the fish is tender and the herbs still smell fresh.

Tips

  • Choose fish that stays intact. Cod, catfish, tilapia, snapper, and other firm white fish work well. Very thin fillets can break apart when stirred, so cut them into generous pieces and move them as little as possible. If using a delicate fish, place the pieces in a single layer and ladle broth over them rather than stirring.
  • Adjust tamarind by taste, not just the spoon. Tamarind products vary in strength and salt content. Unsweetened concentrate is convenient, while soaked tamarind pulp that has been strained gives a rounder, less uniform acidity. Begin with 1½ tablespoons (about 22 g) if your paste is very concentrated, then add more after tasting the broth.
  • Use the herb substitute thoughtfully. Rice paddy herb, sometimes labeled ma om, can be hard to find outside Southeast Asian markets. Cilantro with a few Thai basil leaves is a useful alternative, but it will make the finish more floral and less earthy. Add delicate herbs only after turning off the heat so their flavor stays lively.
  • Keep the simmer gentle. A hard boil can break up fish and make the soup less clear. Once the fish goes in, avoid frequent stirring and check it early; the thermometer is the reliable doneness check, especially when pieces differ in thickness.

Serving Suggestions

Serve Cambodian fish soup hot as a main course with steamed jasmine rice. Rice can be served in a separate bowl for spooning into the broth, or placed in individual bowls with the soup ladled over it. The rice softens the sharpness of the tamarind and makes the broth more filling without needing to thicken it.

Set out lime wedges, sliced chile, and a small dish of extra fish sauce so diners can adjust their own bowls. A plate of crisp cucumber or lightly dressed greens makes a refreshing side, while a simple vegetable stir-fry can round out a larger meal. Keep the accompaniments fairly plain: the soup already has plenty of fragrant, sour, and savory character.

Variations

Make the soup more traditional in flavor. Some Cambodian sour soup versions include prahok, a pungent fermented fish paste, or a prepared kroeung spice paste. Those ingredients vary in strength and are not necessary for this recipe. If you have prahok, dissolve a small amount in hot broth and strain it before seasoning; it adds deep, fermented savoriness, so reduce the fish sauce and taste carefully. A spoonful of kroeung can add more layered aromatics, though the result will depend on the paste’s ingredients.

Change the sour fruit or vegetables. If fresh pineapple is unavailable, use drained canned pineapple, or leave it out and add a little extra tamarind and tomato. Green papaya or additional long beans can add a milder, less sweet vegetable element. Make one change at a time and taste the broth before adding more sugar or lime, since the balance will shift with different produce.

Use another seafood or make it meat-free. Peeled shrimp can replace the fish; add them near the end and cook until opaque and safely done. For a vegetarian adaptation, use vegetable stock, replace fish sauce with a vegetarian seasoning sauce, and add firm tofu and mushrooms. This changes the soup’s traditional seafood savoriness, so extra herbs and a careful balance of salt, lime, and tamarind help keep the broth lively.

Storage and Reheating

Refrigerate leftover soup within 2 hours of cooking in a shallow, covered container. It keeps for 3 to 4 days in the refrigerator. The fish will soften as it sits, so for the best texture, store the broth and fish separately if you know you will have leftovers; cool both promptly and refrigerate them in separate covered containers.

Reheat only the portion you plan to eat, gently on the stovetop. Stir occasionally and heat the leftovers to 165°F (74°C), checking with a food thermometer; avoid letting the soup boil for a long time, which can make the fish tough. Add a little water or stock if the broth has concentrated, then refresh the bowl with lime and herbs. The soup can be frozen for up to 2 months for best quality, though the fish and vegetables may become softer after thawing. Thaw it in the refrigerator and reheat to 165°F (74°C).

Frequently Asked Questions

What is Cambodian fish soup called?

A sour Cambodian fish soup is often called samlor machu trey. There are many local and household versions, with different souring ingredients, vegetables, herbs, and seasonings. This recipe takes inspiration from that style rather than claiming to represent every version.

Can I use frozen fish?

Yes. Thaw it completely in the refrigerator before cooking, then pat it dry and cut it into even pieces. Frozen fish can release extra water if added straight to the pot, which may dilute the broth and make it harder to judge when the fish is cooked through.

What can I use instead of tamarind?

Lime juice can provide acidity, but it tastes brighter and less rounded than tamarind. If you need to substitute, begin with 1 tablespoon (15 ml) of lime juice in the broth, taste, and add more gradually. Keep some lime for the final seasoning too; adding all the acidity early can make the flavor feel flat.

Is Cambodian fish soup spicy?

It does not have to be. The soup base is aromatic and sour rather than necessarily hot, and the bird’s-eye chile in this recipe is optional. Leave it out for a mild pot, or offer sliced chile at the table so each person can choose how much heat to add.

Can I make the soup ahead?

You can prepare and refrigerate the broth with its aromatics a day ahead, then reheat it, add the vegetables, and cook the fish just before serving. This keeps the fish from sitting in the broth and becoming soft. If the full soup is already cooked, refrigerate it promptly and follow the storage and reheating guidance above.

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).