Contents

Moo Ping: Grilled Pork Skewers With Coconut Milk

Thailand's breakfast on a stick, charred over charcoal and slicked with palm sugar

Contents↓ Jump to recipe

Every Thai city has a moo ping stall that opens before the traffic does. A woman fans a chipped clay brazier with a bit of cardboard, the coals catch, and the smell of caramelising pork fat and palm sugar drifts down the soi before the shop shutters have properly rolled up. Motorbike taxis stop without dismounting. Office workers grab three or four skewers in a plastic bag, still hot, and eat them one-handed at the bus stop. This is not restaurant food. It is the food of getting somewhere.

Moo Ping: Grilled Pork Skewers With Coconut Milk

 Save
Serves4 servings (about 16 skewers)Prep30 minCook15 minCuisineThaiCourseMain course

Ingredients

  • 800g pork shoulder, sliced into 1cm-thick strips against the grain
  • 4 coriander roots, scraped clean and finely chopped (stems as backup)
  • 6 garlic cloves, peeled
  • 1 tsp whole white peppercorns
  • 3 tbsp palm sugar, packed
  • 3 tbsp fish sauce
  • 120ml coconut milk (full-fat, well shaken)
  • 1 tbsp light soy sauce
  • 1 tbsp oyster sauce
  • 1 tsp ground turmeric (optional, for colour)
  • 16 bamboo skewers, soaked in water for at least 1 hour
  • extra coconut milk, for basting
  • sticky rice, to serve
  • nam jim jaew (Isaan dipping sauce), to serve

Method

  1. Pound the coriander roots, garlic and white peppercorns to a coarse paste in a mortar and pestle.
  2. Whisk the paste with palm sugar, fish sauce, coconut milk, soy sauce, oyster sauce and turmeric until the sugar dissolves.
  3. Add the pork strips, massage the marinade in thoroughly, cover and refrigerate for at least 4 hours or overnight.
  4. Thread 2-3 strips of pork onto each soaked skewer, concertina-style, leaving the last 5cm bare as a handle.
  5. Light a charcoal fire and let it burn down to steady, glowing coals with no visible flame.
  6. Grill the skewers over medium heat, turning every 90 seconds and basting with reserved coconut milk, for 12-15 minutes until charred at the edges and cooked through.
  7. Rest for 2 minutes, then serve with sticky rice and nam jim jaew for dipping.

Why coconut milk, and why it works

Advertisement

Most Thai grilled meats lean on fish sauce and sugar for their marinade, but moo ping’s defining move is coconut milk. It does two things a purely liquid marinade cannot. The fat coats each strip of pork and bastes it from the inside as it renders on the grill, so the meat stays juicy even after direct contact with charcoal for a quarter of an hour. And the natural sugars in the coconut milk caramelise alongside the palm sugar, building a lacquered, faintly smoky crust that a soy-only marinade never achieves. Street vendors in Bangkok often keep a small bowl of extra coconut milk by the grill specifically for basting mid-cook, brushing it on with a bundle of pandan leaves tied at the stem. That second application is what gives the best skewers their glassy sheen.

Coriander root is the other non-negotiable. Thai cooks treat the root as a different ingredient from the leaf entirely — earthier, more resinous, closer to celery than to the bright top growth most supermarkets sell trimmed away. If your bunch comes rootless, use the thick lower stems instead; the flavour is close enough, though a touch less complex. Pounding the root with garlic and white peppercorns in a mortar releases oils that a food processor blade tends to bruise rather than crush, and the difference is noticeable in the finished glaze.

The cut, and why shoulder beats loin

Pork shoulder, sometimes labelled Boston butt, has the fat marbling to survive fifteen minutes over direct heat. Loin or tenderloin will grill faster but turns chalky by the time the exterior chars properly, because there simply isn’t enough intramuscular fat to buffer the heat. Ask your butcher for shoulder sliced into strips about a centimetre thick, or buy a whole piece and slice it yourself against the grain — cutting with the grain gives you strips that shred rather than bite cleanly. The strips should be long enough to thread onto a skewer in loose folds rather than laid flat, which increases the surface area exposed to smoke and flame.

Thailand’s north-east, Isaan, does its own version with a slightly different balance: more fish sauce, less sweetness, and sometimes a hit of ground rice for texture, closer in spirit to the region’s larb tradition. Bangkok street stalls tend towards the sweeter, glossier version this recipe follows, which is the one most visitors first fall for.

Grilling over charcoal versus a gas grill

Advertisement

Charcoal is not sentimentality here. The smoke that clings to the meat as fat drips onto hot coals is a genuine flavour compound, not a nostalgic add-on, and moo ping without it tastes like a different, flatter dish. If you have any way to grill over lump charcoal — a kettle grill, a small hibachi, even a disposable barbecue tray — use it. Let the coals burn down until they’re covered in grey ash and glowing steadily rather than flaming; too hot and the sugar in the marinade burns before the pork cooks through, leaving bitter black patches instead of an even char.

A gas grill or a griddle pan will still produce a good result, just a cleaner one. Turn the heat to medium rather than high, since gas burns cleaner and hotter at the surface without the radiant heat of coals, and the sugar content of this marinade scorches quickly. Whatever the heat source, turn the skewers often — every ninety seconds or so — rather than leaving them to develop grill marks on one side. Moo ping wants an even, all-over lacquer, not stripes.

Soaking the skewers, and other small things that matter

Bamboo skewers left dry will catch fire at the exposed ends within a few minutes over charcoal, so soak them for at least an hour, longer if you remember. Thread the pork in loose folds rather than pulling it taut; taut meat shrinks and splits as it cooks, loose folds give it room to contract without tearing. Leave the last five centimetres of each skewer bare — that’s your handle, and also where a street vendor tucks a strip of banana leaf to keep fingers clean.

Marinating time matters more than most home cooks expect. Four hours gets you seasoned pork; overnight gets you pork where the coconut milk has actually broken down some of the muscle fibre and the flavour has travelled all the way through, not just sat on the surface. If you’re organised enough to marinate the night before, do it — the difference is obvious side by side.

Serving it the way the street does

Moo ping is built to be eaten with sticky rice, packed in a small basket or a knotted plastic bag, torn into pinches with the fingers and pressed against the meat. The rice’s stickiness picks up every last bit of glaze off the skewer, which is the point — nothing on the plate should go to waste. A dish of nam jim jaew, the smoky, tamarind-and-chilli dipping sauce of the north-east, adds a sour, hot edge that cuts through the pork’s sweetness. A squeeze of lime and a scatter of toasted rice powder over the top does something similar if you don’t have jaew ingredients to hand.

Don’t reach for cutlery. Street food in Thailand is eaten standing, walking, or perched on a plastic stool with your knees higher than the table, and moo ping tastes better that way than it ever will plated at a dining table with a knife and fork.

Storage and reheating

Cooked skewers keep for up to three days refrigerated in an airtight container. Reheat gently — a low oven at 150°C for eight to ten minutes, or a few seconds per side back on a hot pan — rather than a microwave, which turns the glaze gummy and the pork rubbery. The raw marinated pork also freezes well for up to two months; thaw it fully in the fridge before threading and grilling, since ice crystals in the meat stop the marinade caramelising properly.

If you want the same base flavour without a grill, the marinated strips work under a very hot oven grill (broiler), close to the element, turned every couple of minutes. You lose the charcoal smoke but keep the sweet, sticky exterior that makes moo ping worth queuing for at six in the morning.

What goes wrong, and how to fix it

The most common failure is burnt sugar before the pork is cooked through — you pull skewers off the grill with a beautiful mahogany crust and a pink, underdone centre. This happens when the coals are too hot or the pork strips are cut too thick. Slice no thicker than a centimetre, and if your coals are still flaming rather than glowing steadily, wait five more minutes before you start cooking; patience with the fire saves the meat. The second common problem is dry, stringy pork, almost always from using loin instead of shoulder, or from slicing with the grain instead of against it. Against the grain shortens the muscle fibres so each bite is tender rather than fibrous.

A third issue turns up with the marinade itself: if the coconut milk you’ve bought has separated badly in the tin, with a thick cap of cream sitting on watery liquid, shake or stir it thoroughly before measuring, otherwise you’ll end up with an unbalanced, oily marinade on one batch and a thin, under-flavoured one on the next. Full-fat coconut milk from a can, not the diluted carton kind sold as a drink, is what you want here — the fat content is doing real work in the marinade, not just adding calories.

Variations worth trying

Isaan-style moo ping swaps some of the sweetness for a stronger hit of fish sauce and often folds in a spoonful of ground toasted rice for a faint nuttiness and a slightly grainy texture against the smooth glaze — the same toasted rice used in larb and nam tok. Chiang Mai versions sometimes add a little five-spice or extra white pepper for warmth, closer to the flavour profile of the region’s Chinese-influenced cooking.

Chicken thigh works as a substitute for pork if you want to keep the marinade and the method but change the meat; cut it the same way and grill it for the same time, checking the centre for doneness since chicken needs to reach a higher temperature than pork to be safe. Beef skirt or flank, sliced thin against the grain, also takes well to this marinade, though the cooking time drops to eight or nine minutes since beef this thin cooks faster than the fattier pork shoulder.

For a version without a live fire at all, a very hot griddle pan on the stovetop, pressed down hard with a spatula for the first thirty seconds per side, gets you most of the way to the charred exterior — not identical to charcoal, but close enough for a weeknight when a barbecue isn’t practical. Add a few drops of liquid smoke to the marinade if you want to chase that flavour further indoors, though it’s an optional, slightly blunt substitute for the real thing.

Where moo ping sits alongside Thailand’s other skewers

Moo ping shares a family tree with chicken satay, another marinated, grilled, skewered meat built around coconut and a dipping sauce, though satay leans on peanut where moo ping leans on palm sugar and char. It also sits comfortably next to larb with toasted rice powder and lime on a shared plate — the toasted rice powder from that dish makes an excellent finishing dust over moo ping too, adding crunch and a nutty note the marinade doesn’t otherwise have.

For a full northern Thai breakfast spread, pair moo ping with a bowl of khao soi with crackling egg noodles if you’re feeding a crowd at lunchtime instead, and finish with something cold and sweet — mango sticky rice with toasted coconut cream uses the same coconut milk you’ve already got open on the counter, so it costs you nothing extra to make both in one sitting.

Advertisement
Advertisement
Fern
Written by Fern

vo.rs's resident home cook. A firm believer that the best recipes are the classics with one small, clever twist, Fern cooks the way most of us actually do: in a normal kitchen, on a normal weeknight, without a brigade of sous-chefs. Expect generous flavour, honest shortcuts and strong opinions about garlic.