Cambodian Beef Sour Soup: Samlor Machu, a Tangy Recipe

Updated November 3, 2026

Total time
2 hr 5 min
prep 25 min · cook 1 hr 40 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Cambodian Beef Sour Soup: Samlor Machu, a Tangy Recipe

Cambodian beef sour soup, often called samlor machu, is a bright, savory broth with tender beef, tamarind, lemongrass, vegetables, and fresh herbs. This home-style version balances sour, salty, and gently sweet flavors, with pineapple and tomatoes adding fruitiness; Cambodian sour soups vary by region and household, so the vegetables and souring ingredients are not fixed.

Ingredients

  • 2 lb (900 g) beef chuck, trimmed and cut into 1-inch (2.5 cm) cubes
  • 1 tbsp (15 ml) neutral oil, such as canola or vegetable oil
  • 1 medium yellow onion, about 5 oz (150 g), thinly sliced
  • 3 lemongrass stalks, about 1.5 oz (45 g), tough outer layers removed and stalks bruised
  • 4 garlic cloves, about 0.4 oz (12 g), finely chopped
  • 1 oz (25 g) fresh ginger, peeled and thinly sliced
  • 8 cups (1.9 L) water or unsalted beef broth
  • 3 tbsp (45 ml) tamarind concentrate or unsweetened tamarind paste, loosened with 2 tbsp (30 ml) warm water if thick
  • 2 tbsp (30 ml) fish sauce
  • 1 tsp (4 g) granulated sugar, plus more to taste
  • 2 medium tomatoes, about 10.5 oz (300 g), cut into wedges
  • 1 1/2 cups (225 g) fresh pineapple chunks, cut into bite-size pieces
  • 8 oz (225 g) water spinach, also sold as morning glory, trimmed and cut into 3-inch (7.5 cm) lengths
  • 2 cups (200 g) bean sprouts, rinsed and drained
  • 1/2 tsp fine salt, or to taste
  • 1/4 tsp freshly ground black pepper
  • 2 scallions, about 1 oz (30 g), thinly sliced
  • 1/2 cup (15 g) loosely packed fresh Thai basil or cilantro leaves
  • 1 small red chile, thinly sliced, optional
  • 1 lime, cut into wedges, for serving

Instructions

  1. Prepare the ingredients. Trim the beef of thick, hard pieces of fat and cut it into even cubes so the pieces cook at a similar pace. Remove the dry outer leaves from the lemongrass, trim the root ends, and bruise the stalks with the back of a knife or a rolling pin. Bruising helps release their citrusy aroma; leave the stalks long so they are easy to fish out later. Chop the garlic, slice the ginger and onion, and prepare the tomatoes, pineapple, and greens. Keep the bean sprouts and herbs aside for the final minutes.
  2. Brown the beef. Heat the oil in a large, heavy soup pot or Dutch oven over medium-high heat. Pat the beef dry, then brown it in two batches, turning the pieces for about 3 to 4 minutes per batch. The goal is browned surfaces, not fully cooked centers. Avoid crowding the pot: too many pieces at once release moisture and steam instead of browning. Transfer the beef to a plate. If the pot has dark, burnt bits, wipe those out; browned bits are welcome and will flavor the broth.
  3. Soften the aromatics. Lower the heat to medium. Add the onion and cook for 2 minutes, stirring and scraping up browned bits. Stir in the garlic, ginger, and bruised lemongrass and cook for about 1 minute, just until fragrant. If the pot looks dry, add a tablespoon of water rather than more oil.
  4. Simmer until the beef is tender. Return the beef and any juices to the pot. Pour in the water or broth, then add the tamarind, fish sauce, sugar, salt, and black pepper. Bring the liquid to a boil, skimming off any gray foam that gathers on top. Reduce the heat to maintain a gentle simmer, partially cover, and cook for about 80 minutes. Check after an hour: the liquid should bubble quietly, not boil hard. Add a little hot water if needed to keep the beef mostly submerged. The chuck is ready when a fork can pierce a cube easily; if it is still chewy, give it another 10 to 15 minutes.
  5. Check the beef temperature. USDA FSIS lists 145°F (63°C) followed by a 3-minute rest as the safe minimum for whole cuts of beef. Check a large cube with a food thermometer; this soup’s beef simmers well beyond that temperature as it becomes tender. For the recommended rest, lift the cooked beef onto a clean plate for 3 minutes while you finish the vegetables, then return it to the pot. Keep the broth hot during this brief pause.
  6. Add the fruit and vegetables. Stir in the tomatoes and pineapple and simmer for 5 minutes, until the tomatoes begin to soften but still hold their shape. Add the water spinach and cook for 2 to 3 minutes, just until the stems are tender-crisp and the leaves wilt. Stir in the bean sprouts for the final 1 minute so they soften slightly but retain some crunch. Remove and discard the lemongrass stalks.
  7. Balance and serve. Taste the broth before serving. Add a little more tamarind for a sharper sour note, fish sauce for saltiness, or sugar if the tamarind tastes especially assertive. The broth should be clearly tangy and savory, not sweet. Ladle into warm bowls and finish with scallions, Thai basil or cilantro, and chile if using. Serve lime wedges on the side so each person can adjust the acidity.

Tips

  • Choose tamarind with care. Tamarind concentrate varies in strength and saltiness. Start with 3 tablespoons, taste at the end, and add more in small increments. If using a block of seedless tamarind pulp, soak it in hot water, mash it, and strain out fibers before measuring; it may take more pulp to match the flavor of concentrated paste.
  • Keep the simmer gentle. A hard boil can make beef chuck tighten before its connective tissue has time to soften and can break up the tomatoes. Gentle bubbling gives the beef time to turn tender while keeping the broth clearer.
  • Know your greens. Water spinach has crisp, hollow stems and is sold in some Asian markets as morning glory. If it is unavailable, use regular spinach, chard, or chopped kale. Spinach needs only a minute or two; tougher chard or kale may need 4 to 6 minutes.
  • Adjust sourness at the end. Tamarind products and pineapple differ, so avoid trying to make the broth perfectly balanced before the vegetables go in. Add souring agent gradually after simmering, and remember that a squeeze of lime in the bowl adds a fresh, sharper acidity.

Serving Suggestions

Serve the soup hot as a main course with steamed jasmine rice. Put the rice in a separate bowl, or spoon a little soup over it at the table; keeping it separate preserves the broth’s tangy character and lets diners decide how much liquid they want. A simple plate of sliced cucumber or lightly dressed greens makes a fresh counterpoint without competing with the soup’s herbs and sour broth.

Set out extra lime wedges, sliced chile, and herbs for individual bowls. If you are serving a group, offer fish sauce and sugar at the table in small amounts rather than adding large adjustments to the pot. The soup is filling on its own, but it also works as one dish in a larger Cambodian-style meal with rice and a mild vegetable side.

Variations

Use another souring ingredient. Some versions of Cambodian sour soup lean on sour fruit or other local ingredients rather than tamarind. If fresh tamarind or tamarind concentrate is hard to find, use 2 to 3 tablespoons (30 to 45 ml) of lime juice, added near the end so its aroma stays fresh. Lime makes the soup brighter and more citrus-forward, while tamarind gives it a deeper, fruitier sourness. Start with less and adjust to taste.

Change the vegetables. Replace the water spinach with sliced okra, green beans, or tender cabbage. Add firm vegetables earlier so they have time to cook, and add leafy vegetables near the end. You can omit pineapple for a less fruity broth, or replace it with extra tomato; the soup will taste less sweet and rounded, so balance it carefully with tamarind and a small pinch of sugar.

Make it with thin-sliced beef. For a quicker, less stew-like soup, use 1 1/2 lb (680 g) thin-sliced flank steak in place of the chuck. Prepare and simmer the broth with the aromatics for about 20 minutes, then add the steak in small handfuls and cook until it reaches the USDA FSIS safe minimum of 145°F (63°C), followed by a 3-minute rest. The resulting beef is more tender when sliced thinly across the grain, but it will not have the rich, slow-simmered texture of chuck.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, in shallow airtight containers. The soup keeps for 3 to 4 days in the refrigerator. The beef and broth freeze well for up to 2 to 3 months, although the greens and bean sprouts soften after thawing. For the best texture, freeze the broth and beef separately from fresh greens, then add newly cooked greens and sprouts when reheating. Thaw frozen soup overnight in the refrigerator.

Reheat only the portion you plan to eat in a saucepan over medium heat, stirring occasionally until steaming throughout. Use a food thermometer to make sure leftovers reach 165°F (74°C), the USDA FSIS reheating temperature. Add a splash of water if the broth has reduced, and stir in fresh herbs and lime after reheating rather than boiling them in the pot. Avoid repeatedly warming and cooling the same batch; portioning leftovers makes that easier.

Frequently Asked Questions

What does samlor machu mean?
Samlor refers to a Cambodian soup or stew, and machu is commonly used for sour. The name describes a broad family of tangy soups rather than one single fixed recipe. Ingredients can change with the cook, the season, and what souring fruit or vegetables are available.

Is Cambodian beef sour soup very spicy?
No. The soup itself is not necessarily hot, and this recipe makes chile optional. Leave it out for a mild pot, or serve sliced chile separately so each person can choose the heat level. Sourness from tamarind and lime is distinct from chile heat.

Can I make this soup ahead?
Yes. You can cook the beef and broth a day ahead, refrigerate them promptly, and add the tomatoes, greens, and sprouts while reheating. This keeps the vegetables fresher and less soft. Reheat the soup to 165°F (74°C), then taste and adjust the tamarind, fish sauce, or lime before serving.

Can I use tamarind pulp instead of concentrate?
Yes. Soak seedless tamarind pulp in hot water, mash it to release the flavor, and strain it through a fine sieve. Concentrate strength varies, so add the strained liquid gradually and taste the broth. Avoid using sweetened tamarind sauce without checking its label; it can make the soup sweeter and less sour than intended.

Why is my beef still tough?
Chuck becomes tender through a slow, gentle simmer, and the timing depends on the size of the pieces and the cut. If a cube resists a fork, continue simmering in 10- to 15-minute increments rather than turning up the heat. Keep the pot at a quiet simmer and add hot water if the broth gets too low.

Can I make it without fish sauce?
For a fish-free version, replace the fish sauce with an equal amount of soy sauce, then adjust salt at the end. Soy sauce adds a different, more rounded savory taste and is not identical to fish sauce, but it seasons the broth well. Check that the broth you use is also suitable for your dietary needs.

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