8 Best Satay Restaurants & Stalls in KL & PJ
Food

8 Best Satay Restaurants & Stalls in KL & PJ

From a Kajang-lineage flame-grilling institution to a three-generation family stall in Keramat and a rare Thai-style pork satay in PJ, here are eight satay spots across Kuala Lumpur and Petaling Jaya worth the trip.

Jamie Tan3 August 202610 min readUpdated 26 Sept 2026

8 Best Satay Restaurants & Stalls in KL & PJ

Satay is one of Malaysia's most iconic street foods, and Kuala Lumpur and Petaling Jaya have no shortage of stalls doing it well — from full-blown restaurants tracing their lineage to Kajang, to humble roadside stalls that have been fired up on the same charcoal grills for decades. This list focuses squarely on KL and PJ, mixing heritage names with a couple of specialty and non-halal finds for those looking to branch out beyond the usual chicken-and-beef order.

Every stall below was cross-checked this year against multiple sources — recent reviews, active social media, or delivery-platform listings — to make sure it's still open and grilling.

1. Sate Kajang Haji Samuri (Damansara Utama, PJ)

Malaysia's best-known satay name traces its roots to Kajang, and its Damansara Utama (PJ Uptown) branch is a full sit-down restaurant rather than a roadside stall. The menu is unusually wide for a satay specialist, spanning chicken, beef, mutton, rabbit, tripe, liver and even fish satay, all served the traditional way with ketupat, cucumber and onion. Ordering here is via QR code or the counter, and it's the easiest way to sample the Kajang-style lineage without making the drive out to Kajang itself. The branch sits at 79 & 79M, Jalan SS21/37, and the chain's own branch directory lists it open 11.30am–10.30pm Monday to Thursday, 11.30am–11pm on Friday with a 1–3pm break, 11.30am–11pm on Saturday and 11.30am–10.30pm on Sunday — one of three places on this list you can eat at over lunch.

2. Satay Zainah Ismail (Dato' Keramat, KL)

Tucked into Kampung Datuk Keramat, this roadside stall keeps things deliberately simple: a family recipe passed down three generations, and a menu limited to chicken, beef, beef stomach and chicken liver satay — no distractions, no side dishes competing for attention. Regulars describe the sticks as unusually meaty with good caramelisation from the grill. You'll find it at 1077, Lorong Kiri 20. It's an evening-only operation, and its Google listing (checked 26 September 2026) now shows 5pm to 10pm, Tuesday to Sunday, with the stall closed all day Monday — earlier write-ups quoting 6.30pm to 11.30pm daily are out of date.

3. Zaini Satay (Ampang, KL)

A longstanding neighbourhood favourite in Ampang, Zaini Satay grills over open charcoal rather than gas, which loyal customers point to as the reason its smoky flavour has stayed consistent over the years. Chicken and beef satay come with a rich, nutty peanut sauce, and it's not unusual to see customers who've made the drive in from as far as Cheras just for a fix. The stall now operates as Zaini Satay 2.0 from stall No. 3 at Jaya Laman Niaga MPAJ@Ampang, Ampang Jaya (013-322 1617), and there's a second outlet in Taman Melawati (011-5858 3015) . Mind the rest days: the Ampang Jaya stall is closed on Wednesdays and Taman Melawati on Thursdays, per the stall's own link page — and call ahead if you need a large order.

4. Pak Din Satay (Gombak, KL)

Running on Jalan Gombak since 1977, Pak Din Satay is a legend in its corner of KL, known for going beyond the standard repertoire into satay perut — grilled beef intestine — priced at roughly RM1.60 a stick alongside the usual chicken and beef options. The original stall is at 121, Jalan Gombak, and its Google listing (checked 26 September 2026) shows 5.30pm to 11pm every night — though the stall itself warns it takes one Sunday off every fortnight, so phone ahead on a Sunday. Parking around the stall gets famously tight once the evening crowd rolls in.

5. Satay Station (Kampung Pandan, KL)

Satay Station has built a following in Kampung Pandan on the strength of its floor-seating, kampung-style setup, which gives the whole experience a nostalgic, old-school feel. Chicken satay is the standout here, available in regular (about RM1.90 a stick) and jumbo (about RM3.20) sizes, with beef and mutton priced roughly RM1 more, all paired with a peanut sauce that carries a noticeable chilli kick. It's at 55, Jalan Kampung Pandan, and its Google listing (checked 26 September 2026) shows noon to 11pm daily — much earlier than the 4pm start older guides quote, which makes it the only heritage-style satay spot on this list you can do for lunch in KL proper.

6. Hani Satay (SS2, PJ)

Set on the halal side of SS2's Medan Selera Ibumie hawker court, Hani Satay serves beef, chicken and mutton satay with a thick, rich peanut sauce, and does takeaway. It's earned a loyal PJ following for its generous, competitively priced portions. Look for stall G14 in the Jalan SS2/60 food court. Its Google listing (checked 26 September 2026) shows 5.30pm to 11.30pm, Tuesday to Sunday, and it is closed on Mondays — later and longer than the 5pm–9.30pm window older reviews quote.

7. Sate Hut (Puchong Perdana)

Just south of PJ proper in Puchong Perdana, Sate Hut's calling card is its satay perut, which reviewers consistently single out as soft, deeply flavoured, and a cut above the usual offal offering. The Puchong Perdana shop is at 33, Jalan Perdana 3/4, and its Google listing (checked 26 September 2026) shows 11am to 10pm daily — the earliest opening on this list — and the operator lists six branches: Puchong Perdana, Putra Perdana, Kelana Jaya, Rawang, Melawati and Pristana, with orders, bookings, events and catering handled on 013-488 8137.

8. John Satay @ Restoran Gembira MJ (Taman Mayang Jaya, PJ)

For something genuinely different, John Satay operates out of Restoran Gembira MJ at No. 1, Jalan SS26/9 in Taman Mayang Jaya, PJ, serving Thai-style pork satay — a rare offering in the Klang Valley, where most satay is halal by default. The brand began in Taiping, where founder Celine Teoh still runs two stalls (Medan Selera Tai Hu and Prima Coffee Shop); this is one of just two Klang Valley outlets, the other being inside Restoran Hao Kee in Puchong BK5. Two pork satay versions are on the grill, both made with sliced pork and fat threaded onto skewers: a plain brown one, and the more interesting Thai-style skewer, tinged yellow with turmeric and marinated for at least a day with coriander, garlic and lemongrass. Both go for about RM1.70 a stick, alongside chicken (RM1.30) and beef or mutton (RM2). Note this is a non-halal stall, open evenings only from 6pm to 10pm, and closed every second Monday of the month — hours from a 2024 Malay Mail review, since the restaurant lists none on Google; the brand's Facebook page was still active in September 2026 but names only its Taiping base, so check it before a special trip.

Which Night to Go: Rest Days at a Glance

Hours on this list were re-checked against each stall's Google listing on 26 September 2026, and the rest days matter more than the opening times:

  • Monday: Satay Zainah Ismail and Hani Satay are closed all day; John Satay also rests on the second Monday of each month.
  • Wednesday: Zaini Satay's Ampang Jaya stall is closed (the Taman Melawati outlet is open).
  • Thursday: Zaini Satay's Taman Melawati outlet is closed (Ampang Jaya is open).
  • Sunday: Pak Din Satay takes one Sunday off every fortnight, so phone before a Sunday run.
  • Every day: Sate Kajang Haji Samuri, Satay Station and Sate Hut have no weekly rest day.

Planning Your Satay Crawl

Most of these stalls open only in the evening, so plan around a 5pm to 6pm start if you want first pick of the grill — popular cuts like satay perut can run low by 8pm or 9pm, and Satay Zainah Ismail and John Satay close at 10pm. If you're after the widest single menu, Sate Kajang Haji Samuri's PJ branch is the most convenient one-stop option; if you want to go deeper into neighbourhood institutions, Satay Zainah Ismail, Zaini Satay and Pak Din Satay each represent a different corner of KL's satay heritage.

How to Pick Your Stall

Working backwards from what you actually want makes this list easy to narrow down. Eating during the day? Only Sate Kajang Haji Samuri (from 11.30am), Sate Hut (from 11am) and Satay Station (from noon) are open before the evening. Bringing a group or ordering for an event? Sate Hut takes catering bookings on 013-488 8137, and Zaini Satay's two outlets take phone orders — worth calling ahead rather than queueing. Want offal beyond chicken and beef? Pak Din Satay and Sate Hut both do satay perut, and Satay Zainah Ismail serves beef stomach and chicken liver. Eating non-halal? John Satay is the only stall here that isn't halal — everywhere else on this list is a halal Malay-run operation, so don't mix the two on one crawl. Watching the bill? Sticks run roughly RM1.30 for chicken to RM3.20 for the pricier cuts; a satisfying order is usually 10 to 15 sticks a person.

Stall/RestaurantAreaKnown ForTypeHours (Sep 2026)
Sate Kajang Haji SamuriDamansara Utama, PJExtensive meat menu, Kajang lineageRestaurant11.30am–10.30pm; to 11pm Fri–Sat
Satay Zainah IsmailDato' Keramat, KLThree-generation family recipe, extra-meaty sticksHawker stall5–10pm; closed Mon
Zaini SatayAmpang, KLCharcoal-grilled chicken & beefHawker stallAmpang Jaya closed Wed; Melawati closed Thu
Pak Din SatayGombak, KLSatay perut (intestine), running since 1977Hawker stall5.30–11pm daily (one Sunday off a fortnight)
Satay StationKampung Pandan, KLKampung-style floor seating, jumbo skewersHawker restaurant12–11pm daily
Hani SataySS2, PJHalal-side SS2 favourite, thick peanut sauceHawker stall5.30–11.30pm; closed Mon
Sate HutPuchong PerdanaSatay perut specialtyHawker stall11am–10pm daily
John Satay @ Restoran Gembira MJTaman Mayang Jaya, PJThai-style pork satay (non-halal)Hawker stall6–10pm; closed 2nd Mon of month
1
Sate Kajang Haji Samuri (Damansara Utama, PJ)

Sate Kajang Haji Samuri (Damansara Utama, PJ)

Malaysia's best-known satay name, tracing its roots to Kajang, runs a full sit-down restaurant in Damansara Utama (PJ Uptown) with an unusually wide menu spanning chicken, beef, mutton, rabbit, tripe, liver and fish, served with ketupat, cucumber and onions. Ordering is via QR code or counter, and diners can pick any open table. It's the most accessible way to try the Kajang-style satay lineage without driving out to Kajang itself, and one of three entries here (with Sate Hut and Satay Station) that you can eat at over lunch. The branch is at 79 & 79M, Jalan SS21/37, and its own branch directory gives the phone as 03-7710 5318 and lists hours of 11.30am–10.30pm Monday to Thursday, 11.30am–11pm on Friday with a 1–3pm break, 11.30am–11pm Saturday and 11.30am–10.30pm Sunday.

Sate Kajang Hj Samuri (official website gallery)

2
Satay Zainah Ismail (Dato' Keramat, KL)

Satay Zainah Ismail (Dato' Keramat, KL)

A humble roadside stall in Kampung Datuk Keramat that sticks to a family recipe passed down three generations, serving only satay: chicken, beef, beef stomach and chicken liver, with no fillers or side dishes to distract from the meat. Reviewers consistently describe the sticks as unusually meaty with good caramelisation from the char. It sits at 1077, Lorong Kiri 20, Kampung Datuk Keramat, and its Google listing (checked 26 September 2026) shows 5pm to 10pm, Tuesday to Sunday — it is closed all day Monday.

Satay Zainah Ismail community listing (gotoeat.net)

3
Zaini Satay (Ampang, KL)

Zaini Satay (Ampang, KL)

A longtime neighbourhood institution grilled over open charcoal flames rather than gas, which regulars credit for its consistent smoky flavour. Its own channels list a wider spread than most stalls here — sate ayam (chicken), daging batang pinang (beef), kambing (mutton) plus two tripe cuts, perut babat and perut tembusu — all served with a rich, nutty peanut sauce, and the stall has built a loyal following of customers who make the drive from as far as Cheras just for it. It now trades as Zaini Satay 2.0 from stall No. 3 at Jaya Laman Niaga MPAJ@Ampang, Ampang Jaya (013-322 1617), with a second outlet in Taman Melawati (011-5858 3015). Check the rest days before you drive over: the Ampang Jaya kiosk closes on Wednesdays and Taman Melawati closes on Thursdays, and it's worth calling ahead for large orders.

Zaini Satay

4
Pak Din Satay (Gombak, KL)

Pak Din Satay (Gombak, KL)

Operating on Jalan Gombak since 1977, this legendary stall is known for going beyond the usual chicken and beef into satay perut (grilled beef intestine), priced at roughly RM1.60 a stick alongside its other offerings. The original stall is at 121, Jalan Gombak, and its Google listing (checked 26 September 2026) shows 5.30pm to 11pm every night; the stall's own notice adds that it shuts on one Sunday every fortnight — so a Sunday run is the one night worth phoning first. Pre-orders are turned around in about half an hour, and for a kenduri or open house the stall will bring the grill to your house on orders of 1,000 sticks or more, with a 30% deposit up front and an extra 10 sen a stick if you're outside Gombak. Parking around the stall is famously tight during peak hours.

Pak Din Satay Gombak (stall's own blog)

5
Satay Station (Kampung Pandan, KL)

Satay Station (Kampung Pandan, KL)

A Kampung Pandan favourite known for its floor-seating, traditional kampung-style setup that gives the whole meal a nostalgic feel. Chicken satay is the standout, sold in regular (about RM1.90 a stick) and jumbo (about RM3.20) sizes, with beef and mutton priced roughly RM1 more, served with a peanut sauce that has a noticeable chilli kick. It sits at 55, Jalan Kampung Pandan, and its Google listing (checked 26 September 2026) shows noon to 11pm daily, so it doubles as a lunch stop.

Restoran Satay Station (official blog)

6
Hani Satay (SS2, PJ)

Hani Satay (SS2, PJ)

Set on the halal side of SS2's Medan Selera Ibumie hawker court in Petaling Jaya, this stall serves beef, chicken and mutton satay with a thick, rich peanut sauce, and does takeaway. It's built a strong reputation among PJ locals for sizeable, competitively priced portions. The stall is G14 inside the Jalan SS2/60 food court, and its Google listing (checked 26 September 2026) shows 5.30pm to 11.30pm, Tuesday to Sunday — closed on Mondays.

Hani Satay (official Facebook page)

7
Sate Hut (Puchong Perdana)

Sate Hut (Puchong Perdana)

Just south of PJ in Puchong Perdana, this stall's standout is its satay perut (intestine satay), which reviewers single out as soft, richly flavoured and well beyond the usual chicken-and-beef standard. The Puchong Perdana shop is at 33, Jalan Perdana 3/4, and its Google listing (checked 26 September 2026) shows 11am to 10pm daily — one of the few on this list you can eat at for lunch — and the operator lists six branches in all: Puchong Perdana, Putra Perdana, Kelana Jaya, Rawang, Melawati and Pristana. Orders, bookings, events and catering go through 013-488 8137.

Sate Hut Citarasa Klasik (official Facebook page)

8
John Satay @ Restoran Gembira MJ (Taman Mayang Jaya, PJ)

John Satay @ Restoran Gembira MJ (Taman Mayang Jaya, PJ)

A rare find in the Klang Valley: a Thai-style pork satay stall, set up within Restoran Gembira MJ at No. 1, Jalan SS26/9, Taman Mayang Jaya, PJ. The brand started in Taiping under founder Celine Teoh — it still runs two stalls there, at Medan Selera Tai Hu and Prima Coffee Shop — and this is one of only two Klang Valley outlets, the other being inside Restoran Hao Kee in Puchong BK5. Two pork satay versions are on the grill: a plain brown one, and the better Thai-style skewer, tinged yellow with turmeric and marinated at least a day in coriander, garlic and lemongrass. Both are RM1.70 a stick, with chicken at RM1.30 and beef or mutton at RM2. This is a non-halal stall, evenings only from 6pm to 10pm, closed every second Monday of the month. Those hours come from a 2024 Malay Mail review and the restaurant has no Google hours listed; the John Satay page was still posting in September 2026 but lists only its Taiping base, so check its Facebook page before a special trip.

JOHN SATAY (official Facebook page)

Frequently Asked Questions

Is satay in KL and PJ mostly halal?

Yes. Almost all satay stalls in KL and PJ are run by Malay families and are halal by default, using chicken, beef, mutton or offal. The exception on this list is John Satay at Restoran Gembira MJ in PJ, which specialises in non-halal Thai-style pork satay — a rarer find in the Klang Valley.

What is Kajang-style satay, and where can I try it in PJ without driving to Kajang?

Kajang-style satay refers to the tradition associated with the Haji Samuri lineage, known for its thick, well-marinated meat and rich peanut sauce served with ketupat, cucumber and onion. Sate Kajang Haji Samuri operates a full restaurant branch in Damansara Utama (PJ Uptown), letting you try it without the trip to Kajang.

What is satay perut and where can I try it?

Satay perut is grilled beef (or occasionally cow) intestine threaded onto skewers, an offal specialty for more adventurous eaters. Pak Din Satay in Gombak and Sate Hut in Puchong Perdana are both known for their versions, typically priced close to their regular chicken and beef sticks.

What time should I go to avoid long queues or sold-out satay?

The evening stalls on this list open between 5pm and 6pm (Satay Zainah Ismail 5pm, Pak Din and Hani Satay 5.30pm, John Satay 6pm), and Satay Zainah Ismail and John Satay close at 10pm. Popular stalls can see long queues or run low on the more sought-after cuts (like satay perut) by 8-9pm, so arriving right at opening time is the safest bet.

Where can I eat satay in KL or PJ during the day, not just at night?

Three options on this list open well before dinner. Sate Kajang Haji Samuri's Damansara Utama branch opens at 11.30am daily (its own directory notes a 1–3pm Friday break), Sate Hut in Puchong Perdana runs 11am to 10pm, and Satay Station in Kampung Pandan opens at noon and runs to 11pm. Satay Zainah Ismail (from 5pm), Pak Din Satay and Hani Satay (from 5.30pm) and John Satay (from 6pm) are evening-only; Zaini Satay publishes no hours, so phone before a daytime visit.

Which satay stalls in KL and PJ are closed on Mondays?

Two on this list: Satay Zainah Ismail in Kampung Datuk Keramat and Hani Satay in SS2 are both closed all day Monday, per their Google listings checked on 26 September 2026. John Satay in Taman Mayang Jaya also skips the second Monday of each month. For a Monday satay run, Sate Kajang Haji Samuri (Damansara Utama), Satay Station (Kampung Pandan), Pak Din Satay (Gombak) and Sate Hut (Puchong Perdana) all open every day.

Related reads

*Image: Malay satay grilling over charcoal — Dcubillas (Wikimedia Commons, CC BY-SA 3.0), representative of the charcoal-grilled satay served at the stalls listed here*

#Food#Satay#Hawker Food#KL#PJ#Malay Food

You Might Also Like