This Cambodian-style samlor machu is a tangy fish soup made with tamarind, pineapple, tomatoes, tender greens, and kroeung, a fragrant lemongrass-based spice paste. Sour soups vary across Cambodia and from household to household; this version balances tart, savory, and lightly sweet flavors, then is served hot with rice.
Ingredients
- 2 stalks lemongrass, tender inner parts only, about 1 oz (30 g), thinly sliced
- 1 oz fresh galangal (28 g), peeled and thinly sliced; use the same amount of ginger if galangal is unavailable, knowing the paste will taste warmer and less piney
- 1-inch piece fresh turmeric (15 g), peeled and sliced, or 1 tsp ground turmeric (3 g)
- 2 makrut lime leaves (2 g), ribs removed and leaves finely sliced; use 1 tsp finely grated lime zest (2 g) if unavailable
- 3 garlic cloves (9 g), peeled
- 2 small shallots, peeled and roughly chopped, about 2 oz (55 g)
- 1 small red chili (5 g), stem removed, optional
- 2 tbsp water (30 ml), for blending the paste
- 1 tbsp neutral oil (15 ml)
- 8 cups water (1.9 L), or unsalted fish stock
- 2 tbsp tamarind concentrate (30 ml); if using a thick, very tart concentrate, begin with 1½ tbsp (22 ml)
- 1 lb firm white fish fillets (450 g), such as catfish, snapper, or cod, cut into 1½-inch (4 cm) pieces
- 1½ cups fresh pineapple chunks (250 g), cut into bite-size pieces
- 2 medium ripe tomatoes (about 10 oz/300 g), cut into wedges
- 1 small yellow onion (about 4 oz/115 g), thinly sliced
- 1½ tbsp fish sauce (22 ml), plus more to taste
- 1 tsp sugar (4 g), preferably palm sugar, or ordinary granulated sugar
- ½ tsp fine salt (3 g), plus more to taste
- 4 cups chopped water spinach (about 5 oz/140 g); use spinach if water spinach is unavailable
- ½ cup chopped cilantro (10 g)
- ½ cup chopped rice paddy herb, also called ngo om (10 g), optional; add more cilantro if you cannot find it
- Cooked jasmine rice, for serving, about 3 cups uncooked (555 g) for four servings
- Lime wedges and thinly sliced chili, for serving, optional
Instructions
- Prepare the kroeung. Put the lemongrass, galangal, turmeric, makrut lime leaves, garlic, shallots, and optional chili in a small food processor or blender. Add the 2 tablespoons (30 ml) water and blend, stopping to scrape down the sides, until the mixture forms a coarse, moist paste. It does not need to be perfectly smooth. If your appliance cannot catch the ingredients, add another teaspoon of water at a time, using only enough to help it blend.
- Cut the fish and vegetables. While preparing the paste, cut the fish into similarly sized pieces so they cook at the same rate. Keep it refrigerated until needed. Slice the onion, cut the tomatoes into wedges, and chop the pineapple and greens. If using water spinach, separate thick stems from leafy tops and chop the stems into short pieces.
- Cook the paste. Heat the oil in a large heavy pot over medium heat. Add the kroeung and cook for 2 to 3 minutes, stirring often, until fragrant. Keep the heat moderate: the paste should sizzle gently, not brown or stick. If it begins to catch, loosen it with a spoonful of the measured soup water.
- Build the broth. Pour in the 8 cups (1.9 L) water or stock, then stir in the tamarind concentrate, fish sauce, sugar, and salt. Bring the pot to a steady boil, then reduce the heat and simmer for 10 minutes so the lemongrass and galangal flavor the broth. Taste a spoonful. It should be distinctly sour and savory, but not harsh; add a little more tamarind for sharper sourness or a splash of water if it is too intense.
- Soften the vegetables. Add the pineapple, tomatoes, and onion. Simmer for 6 minutes, until the onion begins to soften and the tomatoes release some juice but still hold their shape. Taste again before adding the fish. Tamarind brands vary in strength, so adjust the balance now with a little fish sauce for saltiness, sugar for roundness, or water to mellow the broth.
- Cook the fish gently. Lower the fish pieces into the simmering soup and stir once carefully so they are covered. Keep the broth at a gentle simmer for about 5 to 7 minutes, depending on the thickness of the pieces; avoid a vigorous boil, which can break up delicate fish. Check the thickest piece with a food thermometer: the USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). The flesh should also look opaque and separate easily into flakes.
- Add the greens and herbs. Stir in the water spinach stems first, if using, and cook for 1 minute. Add the leaves and simmer for another 1 to 2 minutes, just until tender. Turn off the heat and stir in the cilantro and rice paddy herb. Taste the broth one last time and adjust the salt, fish sauce, or tamarind as needed.
- Serve hot. Ladle the soup into bowls, distributing fish, pineapple, and vegetables among them. Serve with jasmine rice on the side or spoon the soup over rice. Offer lime wedges and sliced chili at the table so each person can adjust the tartness and heat.
Tips
- Choose a fish that holds together. Catfish is a familiar choice in Cambodian cooking, while snapper and cod are convenient alternatives. Avoid very thin fillets, which can overcook before the vegetables are ready. Cut thicker fillets into even pieces, and keep them chilled until the broth is simmering.
- Adjust tamarind gradually. Tamarind concentrates differ in saltiness and strength. Start with the listed amount, taste after it simmers, and add more in small increments. If the soup becomes too sour, dilute it with hot water and rebalance with a little fish sauce or sugar rather than adding a large amount of sugar at once.
- Keep the paste fragrant, not browned. Kroeung can stick quickly because it contains little moisture. Stir it often over medium heat, and lower the heat if it colors. Fresh galangal and makrut lime leaves give the most distinctive aroma; ginger and lime zest are useful substitutes, but the result will be less traditionally fragrant.
- Add delicate ingredients near the end. Fish and leafy greens need only a short simmer. If they go in too early, the fish may fall apart and the greens can turn dull and soft. Have the serving bowls and rice ready before adding the fish.
Serving Suggestions
Serve the soup as a main course with a bowl of steamed jasmine rice. In many Cambodian meals, soup sits alongside rice and other shared dishes, so it also works as one part of a larger table rather than as a single-pot dinner. Put the rice in individual bowls and ladle soup over it, or let everyone take rice and soup separately. Keeping them separate preserves the rice’s texture until serving.
For a fuller spread, add simple sides that do not compete with the sour broth: sliced cucumber, crunchy raw vegetables, or a plate of lightly steamed greens. Lime wedges and sliced fresh chili let diners tune their own bowls. If the soup is especially tart, serve it with a little extra rice; if it tastes mild, a squeeze of lime or a few drops of fish sauce at the table can sharpen it. Avoid adding all the chili to the pot if you are serving people with different heat preferences.
Variations
Use another protein. Boneless chicken thighs can replace the fish, cut into bite-size pieces and simmered until the thickest piece reaches 165°F (74°C), the USDA FSIS safe minimum for poultry. The soup will need a longer simmer than the fish version, usually about 12 to 15 minutes depending on piece size. Pork shoulder slices are another option; cook whole cuts to 145°F (63°C) and let them rest for 3 minutes before serving.
Make it vegetarian. Replace the fish and fish sauce with firm tofu and a vegetarian seasoning sauce or light soy sauce. Use vegetable broth or water, and start with a small amount of the substitute before adjusting to taste because its saltiness varies. The result will be savory and sour but less seafood-forward than the original.
Change the vegetables. Okra, long beans, or leafy greens can stand in for some or all of the water spinach. Add firm vegetables with the pineapple so they have time to soften; add tender leaves at the end. Canned pineapple works in a pinch: drain it and use the same weight, but expect a softer texture and a slightly sweeter broth.
Adjust the sour base. Tamarind is the characteristic souring ingredient in this version. If you cannot find concentrate, use an equal amount of seedless tamarind pulp softened in hot water, then strain it before adding the liquid to the pot. Lime juice can brighten the finished soup, but it does not give quite the same rounded, fruity sourness; add it at the table rather than boiling it for a long time.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours of cooking. Store the soup in a covered, shallow container and keep it refrigerated for 3 to 4 days. For the best texture, store cooked rice separately. Fish will become firmer after chilling and may break into smaller pieces when reheated, but the broth will still be flavorful.
Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring gently until the soup is steaming throughout and reaches 165°F (74°C). Check with a food thermometer, especially if the pot contains large pieces of fish. Avoid repeatedly bringing the entire pot to a boil, which can make the fish dry and fragile. If the broth has reduced in the refrigerator, add a splash of water before warming and adjust the seasoning afterward.
For longer storage, freeze the broth and vegetables without the fish for up to 2 months for better texture. Thaw overnight in the refrigerator, bring the broth to a simmer, and cook fresh fish in it to the safe temperature above. You can freeze the finished soup, but the fish and greens may soften more after thawing. Do not leave the soup at room temperature for extended storage.
Frequently Asked Questions
What does samlor machu mean?
Samlor machu is commonly used for Cambodian sour soup. There are many versions, and the ingredients depend on the region, season, and cook. Some use fish, meat, or vegetables; the defining idea in this recipe is a sour, savory broth, here flavored with tamarind and kroeung.
Where can I find galangal, makrut lime leaves, or rice paddy herb?
Look for them at Southeast Asian grocery stores or markets that sell fresh specialty herbs. Galangal and makrut lime leaves are often sold fresh or frozen. If they are unavailable, ginger and lime zest can help, while extra cilantro can replace rice paddy herb. These substitutions make the soup accessible, though they change its aroma.
Can I make the soup less spicy?
Yes. Leave out the red chili in the kroeung and serve sliced chili separately. The chili is optional and is not needed for the sour, savory character of the broth. If the soup is already too hot, dilute it with a little hot water or unsalted broth and taste again before adjusting the seasoning.
Why did my fish fall apart?
It may have been cut too small, stirred frequently, or cooked at a hard boil. Use sturdy, evenly cut pieces, lower them into a gentle simmer, and move them as little as possible. Some fish naturally flakes more readily than others, so a spoon or ladle is often better than stirring once the fish is in the pot.
Can I prepare the soup ahead?
You can blend the kroeung up to 2 days ahead and keep it covered in the refrigerator, or cook the broth with the vegetables a day ahead. Refrigerate it promptly, then bring it back to a simmer and add the fish shortly before serving. Cooking the fish fresh helps it retain its shape and keeps it from becoming overdone during reheating.
Is this soup always made with pineapple?
No. Cambodian sour soups have household and regional variations, and the sourness may come from different ingredients. Pineapple gives this version a gentle fruitiness, but you can leave it out and use a little more tomato or another suitable vegetable. Taste the broth as you go, since removing pineapple also reduces sweetness.
Related
- Cajun Oyster Soup with Cream, Herbs, and a Gentle Kick
- Cajun Oyster Stew: A Creamy, Peppery Louisiana Bowl
- Cajun Ninja Vegetable Beef Soup Recipe
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).