Thai Pork Leg Stew: A Tender Khao Kha Moo Recipe at Home

Updated November 4, 2026

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

Jump to recipe

Thai Pork Leg Stew: A Tender Khao Kha Moo Recipe at Home

Thai pork leg stew, often called khao kha moo, is pork slowly braised with soy, garlic, and warm spices until tender, then served with rice and tangy pickled mustard greens. Recipes vary by cook and region, but this stovetop version balances savory, gently sweet broth with fragrant spices and includes eggs that soak up the braising liquid.

Ingredients

  • 4 lb (1.8 kg) bone-in pork leg or pork hocks, skin on if available, cut into 3- to 4-inch (7.5- to 10-cm) pieces
  • 2 tbsp (30 ml) neutral cooking oil
  • 8 cups (1.9 L) water, plus more as needed
  • 6 tbsp (90 ml) regular soy sauce
  • 2 tbsp (30 ml) dark soy sauce
  • 2 tbsp (30 ml) fish sauce
  • 3 tbsp (38 g) packed palm sugar or light brown sugar
  • 8 garlic cloves (about 25 g), peeled and lightly crushed
  • 4 cilantro roots (about 20 g), scrubbed and lightly crushed; substitute 6 cilantro stems if roots are unavailable
  • 1 tbsp (6 g) whole white peppercorns, lightly cracked
  • 2 cinnamon sticks, about 3 inches (7.5 cm) each
  • 3 whole star anise pods (about 3 g)
  • 1 tbsp (6 g) Chinese five-spice powder
  • 6 large eggs (about 300 g in shells)
  • 2 cups (250 g) sliced pickled mustard greens, rinsed and drained
  • 3 cups (570 g) uncooked jasmine rice, rinsed, for serving
  • 2 tbsp (30 ml) rice vinegar, for the mustard greens
  • 1 tsp (5 g) sugar, for the mustard greens
  • 1 lime (about 60 g), cut into wedges, for serving
  • 2 scallions (about 30 g), thinly sliced, for serving

Instructions

  1. Prepare the pork and aromatics. Pat the pork dry and check that the pieces are similar in size so they cook at a similar pace. Lightly crack the peppercorns with the side of a knife or in a mortar; they should be broken, not ground to dust. Crush the garlic and cilantro roots just enough to release their aroma. If the pork is in one large piece, ask the butcher to cut it into stew-size portions, or use a sturdy knife and take care around the bone.
  2. Brown the pork. Heat the oil in a large, heavy Dutch oven or stockpot over medium-high heat. Working in batches so the pot is not crowded, brown the pork on several sides, about 10 to 15 minutes total. Browning adds savory flavor to the broth; the meat does not need to cook through at this stage. Transfer the browned pieces to a plate. If the bottom has dark burnt patches, wipe those away; golden-brown bits can stay.
  3. Build the braising liquid. Lower the heat to medium. Add the garlic and cilantro roots and stir for about 30 seconds, just until fragrant. Pour in the water, scraping the base of the pot to loosen browned bits. Stir in the regular and dark soy sauces, fish sauce, palm sugar, cracked peppercorns, cinnamon, star anise, and five-spice powder. Return the pork and any juices on the plate to the pot. The liquid should come roughly halfway to two-thirds up the meat; add a little water if needed.
  4. Braise until tender. Bring the liquid to a gentle boil, then reduce the heat to low. Cover the pot with the lid slightly ajar and simmer for 2 hours 30 minutes, turning the pork once or twice. Keep the liquid at a quiet simmer rather than a vigorous boil, and add hot water if the level drops substantially. Check the thickest piece with a food thermometer, avoiding the bone: USDA FSIS lists 145°F (63°C) with a 3-minute rest as the safe minimum for whole cuts of pork. For this stew, continue braising beyond that minimum until the meat is very tender and yields easily when prodded with a fork.
  5. Cook the eggs and season the greens. During the braise, place the eggs in a saucepan and cover with cold water. Bring to a boil, then cook for 10 to 11 minutes; cool under cold running water, peel, and set aside. In a small bowl, toss the rinsed pickled mustard greens with the rice vinegar and 1 teaspoon sugar. Rinsing reduces excess brine while leaving enough of their bright, tangy flavor to balance the rich pork.
  6. Add the eggs and finish the stew. When the pork is fork-tender, add the peeled eggs to the pot and turn them gently in the broth. Simmer uncovered for 15 minutes, turning the eggs once so they color evenly. Taste the broth. Add a splash of water if it is too concentrated, or a little soy sauce if it needs more savoriness. The finished broth should taste full and gently sweet, not sharply salty; remember that it will be served with plain rice.
  7. Cook the rice and serve. While the eggs finish in the stew, cook the rinsed jasmine rice according to the package directions or in a rice cooker. Lift out the pork and eggs with a slotted spoon. Discard the cinnamon and star anise, and skim excess fat from the broth if desired. Spoon rice into bowls, add pork and a halved egg, then ladle over some broth. Serve with the dressed mustard greens, scallions, and lime wedges.

Tips

  • Choose the right cut. Bone-in pork leg or hocks give the broth body and stay succulent during a long braise. If you can only find boneless pork shoulder, use similarly sized chunks; the result will be rich and tender, though the broth may have less gelatinous body. Avoid very lean pork loin, which can turn dry before it becomes pleasantly tender.
  • Keep the simmer gentle. A rolling boil can make the meat tighten and break apart unevenly, while also evaporating the broth too quickly. Look for occasional small bubbles at the surface. If your stove runs hot, use the smallest burner or move the pot partly off the heat.
  • Adjust salt after cooking. Soy sauce, fish sauce, and pickled mustard greens all bring salt, and brands differ. The broth can seem strong on its own because it is meant to season a bowl of rice. Taste near the end and adjust with water, soy sauce, or a small pinch of sugar rather than adding extra salt at the beginning.
  • Make the broth ahead if convenient. The stew can be cooked a day in advance; chilling makes it easier to lift off the solidified surface fat. Keep the pork and eggs covered by broth while chilling so they do not dry out, then reheat gently and check the temperature before serving.

Serving Suggestions

Serve the stew in individual bowls with plenty of hot jasmine rice, a spoonful of broth, and one egg per person. Arrange the pickled mustard greens on the side instead of mixing them into the pot; their sharp, lightly sweet acidity cuts through the richness and lets diners choose how much to add. A squeeze of lime and a scatter of scallions bring a fresh finish. For a Thai-style table, offer extra sliced chilies in vinegar or a small dish of chili flakes, clearly marked as optional so the gentle spice profile remains accessible.

For a fuller meal, add a simple blanched green vegetable, such as Chinese broccoli or bok choy, dressed with a little soy sauce. Keep side dishes relatively plain: the braising liquid is already deeply seasoned, and heavily sauced vegetables can make the meal taste too salty. If serving family-style, place the pork and eggs in a shallow bowl, pour over enough broth to keep them moist, and offer extra broth in a small jug for rice.

Variations

For a less rich bowl, trim some of the excess surface fat before browning, or chill the finished stew and remove the firm fat from the top before reheating. The skin contributes a soft, gelatinous texture; leave it on if that is part of what you enjoy about pork leg stew, or ask the butcher to remove it for a leaner-feeling result. Neither choice changes the method.

Cilantro roots are traditional in many Thai-style versions but can be difficult to find. Use cilantro stems as listed, or use 1 tablespoon (4 g) chopped cilantro stems and leaves; the leafy substitute tastes fresher and less earthy. Palm sugar gives a mellow, rounded sweetness, while light brown sugar is a practical alternative with a slightly more molasses-like flavor. If you do not have Chinese five-spice powder, omit it rather than adding an unrelated spice blend; the cinnamon, star anise, garlic, and pepper still make a fragrant braise.

You can leave out the eggs, or add firm tofu during the final 15 minutes for another option. For a more pronounced sweet-and-sour contrast, serve extra pickled mustard greens at the table rather than increasing the vinegar in the pot. This is a flexible home-style dish: adjust the accompaniments and sweetness to suit your table, while keeping the pork braising time long enough for tenderness.

Storage and Reheating

Refrigerate leftover pork, eggs, and broth within 2 hours of cooking, preferably in shallow airtight containers. They keep for 3 to 4 days in the refrigerator. Store the mustard greens separately so their acidity does not take over the broth, and keep the rice in its own container. If the pot is too large to cool quickly, divide the stew into smaller portions before chilling.

Reheat only the amount you plan to eat. Warm the pork, eggs, and broth in a covered saucepan over medium-low heat, stirring gently and adding a splash of water if the broth has thickened. Heat leftovers to 165°F (74°C), checking with a food thermometer, and bring the broth to a simmer. In a microwave, cover the portion, pause to stir, and check the center for 165°F (74°C). Reheat rice separately until steaming hot. For longer storage, freeze pork and broth in meal-size containers for up to 2 to 3 months for best quality; thaw in the refrigerator before reheating. The eggs may become slightly firmer after freezing, so freeze them separately or leave them out of portions intended for the freezer.

Frequently Asked Questions

Can I make Thai pork leg stew without a Dutch oven?
A heavy lidded saucepan or stockpot works as long as it holds the pork and enough liquid without crowding. A slow cooker can also work: brown the pork and aromatics on the stove first, then transfer everything to the cooker and cook until fork-tender. Because cooker heat and timing vary, use tenderness rather than a precise clock time as your guide, and verify the pork’s temperature with a thermometer.

Can I use pork shoulder instead of pork leg?
Yes. Choose pork shoulder with some marbling and cut it into 3- to 4-inch (7.5- to 10-cm) chunks. It braises well and is easier to find, though it usually has less skin and bone than leg or hock, so the broth may feel less silky. Begin checking for tenderness at about the same time and allow extra braising time if needed.

Why is my pork still tough after several hours?
Pork that is safe to eat can still be chewy if its connective tissue has not had enough time to soften. Keep the pot at a gentle simmer and continue cooking, checking every 20 to 30 minutes. Also make sure the meat is not sitting above the liquid for long stretches; turn the pieces and add hot water if necessary.

What can I use instead of pickled mustard greens?
Look for them in an Asian grocery store, often sold in packets or jars. If unavailable, serve thinly sliced quick-pickled cabbage or radish with a little rice vinegar and sugar. These substitutes are crunchier and less earthy than mustard greens, but still bring the sour contrast that makes the rich stew feel balanced.

Can I prepare parts of the recipe in advance?
Yes. Brown and braise the pork a day ahead, cool and refrigerate it with its broth, then lift off the chilled surface fat if desired. Reheat the stew to 165°F (74°C), adding the peeled eggs for the final 15 minutes so they warm through and take on some flavor. Cook the rice close to serving time for the best texture.

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