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.











