Recipe Nineteen · Hainanese

Hainanese Pork Satay

海南猪肉沙嗲 / Satay Babi Hainan
The Peranakan-Hainanese Charcoal Heritage
A heritage rectangular wooden serving board with 8-10 satay skewers in two rows, deep-mahogany-glossy-caramelised pork cubes with edge char marks. Beside: chunky orange-brown peanut sauce, garnish trio (red onion, cucumber, ketupat), small dish of sambal. Marble kopitiam table.
Heritage Note from Hock Ko

This is the dish that came out of my Ah Kong's friendship with the auntie next door.

Singapore satay traces a complicated lineage. The grilled-marinated-meat-on-a-skewer technique came across the trade routes from Sumatra, Java, and the wider Malay archipelago — satai in Hokkien, sate in Malay-Indonesian — and was adapted by every community that touched it. The chicken, beef, and mutton versions sold by Malay hawkers are the dominant commercial forms today.

But there is also pork sataysatay babi — which by Islamic dietary rules cannot be made by Malay or Indian-Muslim hawkers. So the pork version became a Peranakan and Hainanese specialty: cooked at home by Peranakan aunties for family meals, and adapted by Hainanese houseboy-cooks like my Ah Kong who learned the technique from the Peranakan neighbour next door.

The heritage form is more elaborate than chicken satay:

  • A rempah-heavy marinade with shallots, garlic, lemongrass, dried chilli, coriander root, gula melaka (Malay palm sugar), and tamarind
  • Fattier pork cuts (shoulder or belly) cubed in 2 cm pieces — the fat renders during grilling and gives the dish its richness
  • Charcoal grilling over a heritage long-trough brazier with constant fanning and basting
  • A peanut sauce ground rough — chunky-textured, distinct from the smoother Malay-hawker peanut sauce
  • The garnish trio: sliced raw red onion, cucumber chunks, and ketupat (Malay compressed-rice cubes, woven palm-leaf packets traditionally)

Heritage references include the Boon Tat Street / Lau Pa Sat satay tradition (which serves all proteins including pork), Kwong Satay (Geylang, the heritage pork-satay stall, reportedly closed), and Chuan Kee Satay at East Coast Lagoon — though the at-home Peranakan tradition is where the pork version most authentically lives.

I'll give you the at-home Peranakan-Hainanese version here — the way my Ah Kong learned it. The hawker version is similar but with bigger batches and faster turnover.

Serves
4–5
Active Time
1 hr
Total Time
4–5 hrs
Difficulty
★★★★

🛒Ingredients

Marinade rempah, basting sauce, peanut sauce, garnish trio. Charcoal embers and a fan are non-negotiable.

For the Satay ~30 skewers

Pork shoulder or pork belly800 gIn 2 cm cubes. Fattier cut is correct — fat renders into the marinade and onto coals during grilling.
Bamboo satay skewers30Soaked in water 1 hour minimum — heritage step. Dry bamboo catches fire over coals.

Rempah Marinade blend or pound to a coarse paste

Shallots8
Garlic6 cloves
Lemongrass (white parts only)3 stalksBruised and chopped.
Galangal25 g
Dried red chillies, soaked4
Fresh red chillies2
Coriander root (with stem base)2 tbspScrubbed and chopped.
Toasted ground coriander1.5 tbsp
Toasted ground cumin1 tsp
Turmeric powder1 tsp
Belacan, toasted1 tspHeritage Peranakan touch — adds umami depth.

Marinade Liquid combined with the rempah paste

Palm sugar (gula melaka), shaved4 tbsp
Tamarind pulp2 tbspSoaked in 3 tbsp warm water, strained.
Dark soy sauce1 tbsp
Light soy sauce1 tbsp
Salt1 tsp
Coconut milk100 ml
Neutral oil2 tbsp

Basting Sauce during grilling

Reserved marinade4 tbspSet aside before adding raw pork.
Coconut milk2 tbsp
Neutral oil1 tbsp

🌶️Shifu's Lift

choose one path — see "Shifu's Secret" chapter for the philosophy
  • Old-school path: ½ tsp MSG in the marinade
  • Modern hawker path: 1 tsp chicken stock powder
  • Heritage purist path: Already covered with belacan + gula melaka + rempah depth

For the Peanut Sauce ~400 ml

Roasted unsalted peanuts200 gGround coarse — not smooth.
Shallots4
Garlic3 cloves
Lemongrass (white parts), chopped1 stalk
Galangal15 g
Dried red chillies, soaked4
Belacan, toasted1 tsp
Tamarind pulp2 tbspSoaked in 3 tbsp warm water, strained.
Palm sugar, shaved3 tbsp
Salt1 tsp
Water300 ml
Neutral oil4 tbsp

Garnish Trio per serving

Red onion, sliced raw½ onionThin rings.
Cucumber chunks½ cucumber2 cm chunks.
Ketupat (compressed rice cubes)~6 cubesPackaged or homemade.
Sambal belacanon the sideChilli-and-fermented-shrimp-paste condiment, homemade or storebought.

👨‍🍳Method

Seven stages. Marinate, soak, thread, light coals, grill, sauce, plate. The fanning never stops.

1Stage

The Rempah and Marinade (2–3 hrs marinating, can be made the day before)

Pound or blend the rempah ingredients into a coarse paste. Heritage hawkers use a lesung batu for the rempah — the slow-pound technique releases flavours that a blender's high-speed cutting bruises rather than extracts. A blender works for home cooking but the texture will be smoother.

In a wide bowl: combine the rempah paste with the marinade liquid ingredients (palm sugar, tamarind water, soy sauces, salt, coconut milk, oil). Mix into a thick uniform marinade.

Reserve 4 tablespoons of marinade for basting (set aside in a separate covered bowl, refrigerated).

Add pork cubes to the remaining marinade. Mix to coat each cube thoroughly. Refrigerate at least 2 hours, ideally 4–6 hours, or overnight. The longer the marinade, the deeper the flavour.

Step illustration: marble counter with rempah and marinade prep mid-progress. Hand pounding a wooden pestle inside a lesung batu mortar with partially-broken-down red-brown rempah paste. Beside: ceramic bowl of pale-pink raw pork cubes, gula melaka with knife, tamarind pulp, dark soy, spice mix. Bamboo skewers stacked in a tray of water.
Stage 1 — pound the rempah, marinate the pork. Reserve four tablespoons for basting.
2Stage

Soak the Skewers

If not already done: soak the bamboo skewers in water for at least 1 hour before grilling. This is non-negotiable — dry bamboo skewers will catch fire over the coals and burn through, dropping your satay into the embers.

3Stage

Thread the Skewers

Drain the marinated pork cubes briefly (excess marinade drips cause flare-ups over coals). One skewer at a time:

  1. Take a soaked bamboo skewer
  2. Thread 5–6 pork cubes onto the lower two-thirds of the skewer, leaving the bottom 2 cm and the top 5 cm clear (handles for the cook and the eater)
  3. Push cubes close together but not jammed — they need a tiny bit of air gap to caramelise on all sides
  4. Vary the cube angles slightly — heritage hand-threaded satay is not machine-uniform; the slight irregularity is the human-craft signature

Lay the threaded skewers on a tray, ready for the grill.

Step illustration: hands threading a satay skewer with marinated pork cubes, deep-mahogany-red glossy from marinade, slightly varied angles. Bowl of marinated cubes ready, row of completed satay skewers on a wooden tray.
Stage 3 — five or six cubes per skewer. Slight irregularity is the human signature.
4Stage

Light the Charcoal (start 30 minutes before you want to grill)

Heritage charcoal grilling uses a long-trough brazier (about 60 cm long, 30 cm deep) packed with hardwood or coconut-shell charcoal. Light the coals using natural fire-starters (not lighter fluid — the petrochemical taste transfers to the meat).

Wait until the coals are at the glowing-red-ember stage with no active flame — about 25–30 minutes after lighting. The coal-bed should be evenly covered, glowing red-orange, with a thin layer of grey ash on top of the brightest coals.

This is the heritage standard — no flame, just intense ember heat. If you grill over flames, the marinade burns to bitter char before the meat cooks; if you grill over weak coals, the meat steams instead of caramelising.

Position the brazier where you have airflow — heritage cooks fan constantly with a kipas (Malay woven palm-leaf hand-fan). The fanning maintains ember temperature and blows the smoke away from the satay surfaces.

5Stage

Grill the Satay — The Critical Moment

Lay the threaded satay skewers across the open top of the brazier — the meat directly over the coals, the bamboo handles resting on the brazier's edge rails. Start with about 8 skewers at a time (more crowds the brazier and drops temperature).

Total grill time per skewer: about 8–10 minutes.

The technique:

  • First 2 minutes: grill un-basted, letting the marinade-coated surfaces set into the heat. The meat caramelises rapidly. Fan constantly to maintain ember intensity.
  • At 3 minutes: turn each skewer 90°, brush a coat of basting sauce on the upward-facing side. Continue fanning.
  • At 5 minutes: turn 90° again, baste again.
  • At 7 minutes: final turn, final baste. The pork should now show deep mahogany-glossy-caramelised surfaces with controlled char-edges — the signature heritage colour and texture.
  • At 8–10 minutes: check doneness. The pork cubes should feel firm-but-springy when poked with a chopstick. Internal temperature 70°C if you have a probe thermometer.

Lift skewers off the brazier directly onto a serving board.

Critical moment: long-trough charcoal brazier mid-grill, glowing red-orange embers, no open flame. 8-10 satay skewers laid across the brazier. Pork cubes mid-grill, deep-mahogany-glossy with controlled char marks. Drips of fat hissing into thin steam. Hand basting with marinade brush.
The critical moment — embers, no flame. Fan constantly. Baste at 3, 5, 7 minutes.
6Stage

Make the Peanut Sauce (can be made 1–2 days ahead)

This is the dish's secondary-but-essential component. Heritage Peranakan-Hainanese peanut sauce is chunky, distinct from the smoother Malay-hawker peanut sauce.

Pound or blend the rempah ingredients (shallots, garlic, lemongrass, galangal, soaked dried chillies, belacan) into a coarse paste.

In a heavy saucepan: heat 4 tbsp oil. Fry the rempah paste over medium heat for 8–10 minutes, stirring constantly, until it deepens in colour and aromatic oil pools (the same pecah minyak moment from Recipe 18).

Add the coarsely-ground roasted peanuts. Stir 2 minutes to combine.

Add 300 ml water + tamarind water + palm sugar + salt. Stir to combine. Simmer 15–20 minutes, stirring occasionally, until the sauce thickens to a thick-flowing texture that coats the back of a spoon.

Adjust seasoning — should taste sweet, savoury, slightly tangy, with a low heat that builds. The texture should be chunky — visible peanut pieces throughout. If it's too smooth, you've ground the peanuts too fine; for next time, pulse rather than process.

Serve at room temperature or gently warmed. Refrigerated, the sauce keeps a week.

7Stage

Plate and Serve

Per serving: place 6–8 satay skewers on a heritage rectangular wooden serving board. Beside the skewers: a small ceramic bowl of peanut sauce (with a small drizzle of red chilli oil arcing across the top), a small dish of the garnish trio (sliced raw red onion + cucumber chunks + ketupat compressed rice cubes), a small dish of sambal belacan on the side.

Eat by hand — this is satay, not pork chop. Pull a cube off the skewer with your fingers, dip in peanut sauce, eat. Alternate bites with raw onion (sharp), cucumber (cooling), and ketupat (rice-base). The sambal is for those who want extra heat.

Hero plate: heritage rectangular wooden serving board with 8-10 satay skewers in two rows, deep-mahogany-glossy-caramelised. Beside: chunky peanut sauce with chilli oil drizzle, garnish trio (red onion, cucumber, ketupat), sambal at corner. Marble kopitiam table.
The board — eight satay, peanut sauce, the garnish trio. Eat by hand.

🎯The Three Tips

Heritage. Master's. Mistake.

🏛 Heritage Note

Why Pork Satay Lives at Home

Most Singaporean satay you'll buy at a hawker stall is chicken, beef, or mutton — never pork — because Malay hawkers (the dominant satay tradition) operate under halal rules.

The pork version exists almost entirely in home cooking — Peranakan-Nyonya kitchens, Hainanese family meals, Chinese clan-association events. Mr Loo Niap Tan's curry rice (Recipe 18) and the home-pork-satay tradition share the same Hainanese-Peranakan kitchen lineage.

For the dish to survive into the next generation, it must be cooked at home and at family gatherings. Treasure the recipe. Pass it down.

👨‍🍳 Master's Tip

The Coal Bed and the Fan

Two techniques separate good pork satay from great pork satay:

  1. Coal-bed temperature management. The heritage standard is glowing red embers, no active flame, even ash layer on top. Too hot = the marinade burns to bitter char. Too cool = the meat steams and goes grey-and-leathery instead of caramelising.
    Test: hold your palm 15 cm above the coals. If you can hold it there for 3 seconds before pulling away, that's the right temperature. 1 second = too hot. 6+ seconds = too cool.
  2. Constant fanning. A kipas keeps the embers at peak temperature and blows the smoke away from the satay surfaces. Smoke that lingers on the meat tastes like soot, not heritage.
    Heritage hawkers fan with one hand, baste with the other, turn skewers with the basting brush handle. It is a three-handed dance with two hands. Practice it.
⚠ Common Mistake

Bitter Burnt Char

Three failures:

  1. Grilling over flames, not embers. Marinade contains palm sugar; sugar burns to acrid bitterness over flame heat. Fix: wait the full 25–30 minutes for coals to settle to red-ember stage before grilling.
  2. Not soaking bamboo skewers. Dry bamboo catches fire over coals, burns through, drops the satay into the embers. Fix: minimum 1 hour water soak. Heritage cooks soak overnight.
  3. Smooth peanut sauce. Restaurant-style smooth peanut sauce (made in a high-speed blender) is wrong — it loses the heritage chunky texture that distinguishes the dish. Fix: pound or pulse the peanuts to a coarse texture. Visible peanut pieces are the signature.
📈 Scaling for Hawker Service

For a heritage satay stall

The economic challenge of pork satay specifically: it's a non-halal product, so it must be sold separate from the main satay line at most multi-meat stalls — separate brazier, separate utensils, separate handler. Many stalls don't bother for this reason; the dedicated pork-satay tradition is largely at-home.

  • Daily prep: 6–8 kg pork shoulder marinated overnight. Threaded fresh each morning (about 200–300 skewers).
  • Charcoal management: A long-trough brazier at the front of the stall with a young assistant fanning constantly, the master cook turning and basting.
  • Peanut sauce: Made fresh daily in 4–5 L batches. Refrigerated, served at room temperature.
  • Cost (Singapore 2026): Per 10-skewer serving ~SGD 4.50 (pork 2.20 + skewers 0.20 + rempah 0.40 + peanut sauce 0.50 + charcoal amortised 0.40 + labour 0.80). Sells SGD 9–13 standard. Margin: 50–60%.
Pork satay is the dish that tells you who your neighbours were. The Hainanese cook who knew the Peranakan auntie next door. The mortar pounded together. The coals fanned together. That is how Singapore was built — one fence between two kitchens, one recipe carried across.
— Hock Ko