Thai pork stew, often called moo palo, is a Thai-Chinese braise of pork, eggs, and tofu in a fragrant broth seasoned with soy, garlic, and warm spices. This home-style version balances salty, sweet, and gently aromatic flavors, then simmers until the pork is tender and the broth is rich enough to spoon over rice.
Ingredients
- 6 large eggs (about 300 g in shells)
- 2 lb boneless pork shoulder, cut into 1½-inch (4 cm) pieces (900 g)
- 1 tablespoon neutral oil (15 ml)
- 6 garlic cloves (about 30 g), peeled
- 3 cilantro roots, or 6 thick cilantro stems (about 20 g)
- 1 teaspoon whole white peppercorns (about 2 g)
- 1 tablespoon coriander seeds (about 6 g)
- 2 cinnamon sticks, about 3 inches (7.5 cm) each
- 3 star anise pods (about 2 g)
- 4 whole cloves (about 1 g)
- 1 teaspoon Chinese five-spice powder (about 2 g), optional
- 2 tablespoons palm sugar or light brown sugar, packed (25 g)
- ¼ cup Thai light soy sauce (60 ml)
- 1 tablespoon Thai dark soy sauce (15 ml), or regular dark soy sauce
- 1 tablespoon fish sauce (15 ml)
- 6 cups water or unsalted chicken stock (1.4 L)
- 8 oz fried tofu puffs, halved (225 g); or firm tofu cut into 1-inch (2.5 cm) cubes
- 1 tablespoon rice vinegar (15 ml), optional, for a brighter finish
- 2 scallions, thinly sliced (about 20 g), for serving
- ½ cup loosely packed cilantro leaves (about 10 g), for serving
Instructions
- Boil the eggs. Put the eggs in a saucepan and cover with cold water by about 1 inch (2.5 cm). Bring to a boil, then lower the heat to maintain a steady simmer for 10 minutes. Drain and cool them under cold running water until easy to handle. Peel and set aside. The yolks and whites should be firm; no thermometer is needed for whole boiled eggs.
- Make the aromatic paste. Pound the garlic, cilantro roots, and white peppercorns in a mortar until they form a coarse paste. If you do not have a mortar, finely chop the garlic and cilantro roots, then crush the peppercorns with the bottom of a heavy pan and mix everything together. The paste does not have to be perfectly smooth.
- Toast the dry spices. Put the coriander seeds, cinnamon sticks, star anise, cloves, and five-spice powder, if using, in a dry pot over medium heat. Stir for about 1 minute, just until fragrant. Transfer the spices to a small bowl so they do not scorch while you brown the pork.
- Brown the pork. Add the oil to the pot. Pat the pork dry, then brown it in two batches for about 5 to 6 minutes per batch, turning the pieces to color several sides. Avoid crowding the pot: packed-in pork steams rather than browns. Transfer the pieces to a plate. A little sticking on the pot is fine; it will lift into the broth.
- Caramelize the sugar and cook the aromatics. Lower the heat to medium-low. Add the palm sugar and stir for 2 to 3 minutes, until melted and amber but not smoking. Add the garlic mixture and stir for about 30 seconds. If the sugar darkens too quickly, lift the pot from the heat briefly; burnt sugar will make the broth bitter.
- Build the braising broth. Return the pork and any juices to the pot. Add the toasted spices, light soy sauce, dark soy sauce, fish sauce, and water or stock. Stir and scrape up any browned bits. Bring the liquid just to a boil, then lower the heat until it bubbles gently. Cover with the lid slightly ajar and simmer for 1 hour 35 minutes, turning the pork once or twice. Keep the broth at a quiet simmer rather than a hard boil, which can make the meat tighten and the liquid evaporate too fast.
- Check the pork and add the eggs. Check a thick piece of pork with a food thermometer: the USDA FSIS safe minimum for whole cuts of pork is 145°F (63°C) followed by a 3-minute rest. For this stew, continue braising beyond that minimum until the pork is fork-tender. Add the peeled eggs and tofu puffs, turning them gently so they become coated in broth. Simmer uncovered for 10 minutes. If using firm tofu instead of puffs, add it for only the final 5 minutes so the cubes are less likely to break.
- Season and serve. Taste the broth. Add the rice vinegar if you would like a little lift, or adjust with a small splash of fish sauce for saltiness. Remove the cinnamon and star anise if you prefer not to have whole spices in the serving bowls. Ladle the pork, eggs, tofu, and broth over rice, and finish with scallions and cilantro.
Tips
- Choose pork with some fat. Shoulder is forgiving and becomes tender during a long braise. Pork belly is a richer, more traditional-feeling option; trim excess surface fat if you want a less oily broth. Lean loin is a poor substitute because it can dry out before the broth develops depth.
- Use cilantro roots if available. They are often sold attached to bunches of cilantro and bring a concentrated, earthy aroma. Thick stems work well when roots are hard to find, though the paste will taste a little fresher and less earthy. Do not substitute a large amount of cilantro leaves in the paste; save those for the garnish.
- Keep the simmer gentle. A few lazy bubbles are enough. If the liquid drops below the level of the pork, add hot water in small amounts. If the broth seems thin at the end, uncover the pot and simmer for a few minutes after the pork is tender.
- Balance the broth at the end. Soy sauces vary in saltiness, and stock may already contain salt. Taste before adding anything extra. If it is too salty, dilute it with a little hot water; if it tastes flat, a small amount of fish sauce or vinegar can sharpen it without requiring a large change in seasoning.
Serving Suggestions
Serve moo palo hot in shallow bowls with steamed jasmine rice. Rice soaks up the sweet-savory broth and makes the pork, egg, and tofu feel like a complete meal. For a lighter plate, serve a smaller portion of stew alongside stir-fried greens, such as water spinach or Chinese broccoli, or a simple cucumber salad. Keep the side dishes plain or only lightly seasoned so they do not compete with the aromatic braising liquid.
For an easy family-style meal, cut each egg in half at the table and spoon broth over the exposed yolk. Put extra rice and a small bowl of sliced scallions or cilantro within reach. A little chopped fresh chili or chili vinegar can be offered separately for diners who want heat; the stew itself is fragrant rather than spicy. If serving guests, leave the whole spices in the pot during cooking but remove them before ladling, so nobody bites into a star anise or clove.
Variations
Thai home cooks and restaurants make moo palo in different ways, so the balance of sweetness, soy, spices, and added ingredients varies. This recipe uses shoulder for accessible, tender pieces. Swap in pork belly for a richer stew, or use a mixture of shoulder and belly. If using belly, skim some rendered fat from the surface before serving if the broth feels too heavy.
For a more pronounced five-spice note, increase the five-spice powder to 1½ teaspoons (about 3 g), but avoid adding it by the spoonful: it can quickly dominate the cinnamon and star anise. For a less sweet broth, start with 1 tablespoon (12 g) of sugar and add more near the end if needed. Palm sugar gives a rounded caramel flavor; light brown sugar is an easy substitute with a slightly more molasses-like taste.
Fried tofu puffs are porous and absorb the broth, while firm tofu offers a milder, denser bite. If puffs are unavailable, use firm tofu as directed, or leave tofu out altogether. Some versions include shiitake mushrooms; add 4 ounces (115 g) sliced fresh shiitakes with the pork, or soak 1 ounce (28 g) dried shiitakes and add them with their strained soaking liquid in place of an equal amount of water. For extra greens, serve them on the side rather than simmering them for the full cooking time.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours of cooking, ideally in shallow, covered containers. Store the pork, broth, eggs, and tofu together or separately for 3 to 4 days in the refrigerator. The eggs will continue to take on color and flavor as they sit. For more even flavor, keep them submerged in broth, but use a clean spoon each time you serve.
Reheat only the portion you plan to eat in a covered saucepan over medium-low heat, stirring carefully and turning the eggs once, until the entire portion reaches 165°F (74°C). Check the center of a pork piece and the broth with a food thermometer. Add a splash of water if the broth has thickened or reduced. A microwave also works: use a microwave-safe covered dish, pause to stir and turn the pieces, and check that it reaches 165°F (74°C) throughout. Freeze leftovers in airtight containers for up to 2 months for best quality; thaw overnight in the refrigerator and reheat to 165°F (74°C). The eggs may become slightly firmer after freezing.
Frequently Asked Questions
Is Thai pork stew spicy?
This version is aromatic and savory, not hot. White pepper adds a gentle warmth, while cinnamon, star anise, and cloves make the broth fragrant. Add fresh chili at the table if you want heat, rather than increasing the peppercorns or five-spice powder in the pot.
Can I make moo palo a day ahead?
Yes. The broth and pork can be made ahead and refrigerated within 2 hours of cooking. The eggs absorb more flavor overnight. Chill the stew promptly, then reheat the portion you need to 165°F (74°C); if the broth has gelled in the refrigerator, it will loosen as it warms.
Can I use pork belly instead of shoulder?
Yes. Cut it into similarly sized pieces and use the same gentle braising method. Belly has more fat and a softer, richer texture, so skim excess fat from the broth before serving if you like. The safe minimum for whole cuts of pork remains 145°F (63°C) with a 3-minute rest, though the meat needs the longer braise here to become tender.
What can I use instead of Thai light soy sauce?
Regular light soy sauce is the closest practical substitute. Chinese light soy sauce also works, though the exact saltiness and flavor can differ by brand. Avoid replacing all of it with dark soy sauce, which is more intensely colored and can make the broth taste heavier. Taste the finished broth before adjusting salt.
Why did my pork turn out tough?
It may need more time, especially if the pieces are large or the simmer was very low. Keep the liquid at a gentle bubble and continue cooking in 10-minute increments until a fork slides into the pork easily. A hard boil is not a shortcut; it can make the meat feel firmer while clouding the broth.
Can I make this stew without a mortar and pestle?
Yes. Finely mince the garlic and cilantro roots, crush the peppercorns with a heavy pan or the flat side of a knife, and stir them together. A small food processor can also chop the aromatics, but scrape down the sides so the garlic is evenly minced. The paste adds fragrance, but it does not need to be perfectly smooth.
Related
- Portuguese Fish Stew with Potatoes: A Simple Recipe
- Portuguese Green Soup (Caldo Verde) Recipe
- Portuguese Green Soup Recipe with Kale
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).