Hainanese Pork Satay
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 satay — satay 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.
🛒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 belly | 800 g | In 2 cm cubes. Fattier cut is correct — fat renders into the marinade and onto coals during grilling. |
| Bamboo satay skewers | 30 | Soaked in water 1 hour minimum — heritage step. Dry bamboo catches fire over coals. |
Rempah Marinade blend or pound to a coarse paste
| Shallots | 8 | |
| Garlic | 6 cloves | |
| Lemongrass (white parts only) | 3 stalks | Bruised and chopped. |
| Galangal | 25 g | |
| Dried red chillies, soaked | 4 | |
| Fresh red chillies | 2 | |
| Coriander root (with stem base) | 2 tbsp | Scrubbed and chopped. |
| Toasted ground coriander | 1.5 tbsp | |
| Toasted ground cumin | 1 tsp | |
| Turmeric powder | 1 tsp | |
| Belacan, toasted | 1 tsp | Heritage Peranakan touch — adds umami depth. |
Marinade Liquid combined with the rempah paste
| Palm sugar (gula melaka), shaved | 4 tbsp | |
| Tamarind pulp | 2 tbsp | Soaked in 3 tbsp warm water, strained. |
| Dark soy sauce | 1 tbsp | |
| Light soy sauce | 1 tbsp | |
| Salt | 1 tsp | |
| Coconut milk | 100 ml | |
| Neutral oil | 2 tbsp |
Basting Sauce during grilling
| Reserved marinade | 4 tbsp | Set aside before adding raw pork. |
| Coconut milk | 2 tbsp | |
| Neutral oil | 1 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 peanuts | 200 g | Ground coarse — not smooth. |
| Shallots | 4 | |
| Garlic | 3 cloves | |
| Lemongrass (white parts), chopped | 1 stalk | |
| Galangal | 15 g | |
| Dried red chillies, soaked | 4 | |
| Belacan, toasted | 1 tsp | |
| Tamarind pulp | 2 tbsp | Soaked in 3 tbsp warm water, strained. |
| Palm sugar, shaved | 3 tbsp | |
| Salt | 1 tsp | |
| Water | 300 ml | |
| Neutral oil | 4 tbsp |
Garnish Trio per serving
| Red onion, sliced raw | ½ onion | Thin rings. |
| Cucumber chunks | ½ cucumber | 2 cm chunks. |
| Ketupat (compressed rice cubes) | ~6 cubes | Packaged or homemade. |
| Sambal belacan | on the side | Chilli-and-fermented-shrimp-paste condiment, homemade or storebought. |
👨🍳Method
Seven stages. Marinate, soak, thread, light coals, grill, sauce, plate. The fanning never stops.
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.
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.
Thread the Skewers
Drain the marinated pork cubes briefly (excess marinade drips cause flare-ups over coals). One skewer at a time:
- Take a soaked bamboo skewer
- 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)
- Push cubes close together but not jammed — they need a tiny bit of air gap to caramelise on all sides
- 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.
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.
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.
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.
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.
🎯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:
- 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. - 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:
- 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.
- 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.
- 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.