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.

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. It's an evening-only operation, open from 6:30pm to 11:30pm.

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.

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. It opens late, from 6pm to 11:30pm, and 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 and jumbo sizes from around RM1.90 a stick, with beef and mutton priced roughly RM1 more, all paired with a peanut sauce that carries a noticeable chilli kick. It's open daily, 4pm to midnight.

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 even offers online ordering for pickup — a rarity for a hawker stall. It's earned a loyal PJ following for its generous, competitively priced portions. Hours are 5pm to 9:30pm.

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. It runs daily from 11am to 11pm and stays active on social media for orders and updates, making it easy to check before making the trip.

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

For something genuinely different, John Satay operates out of Restoran Gembira MJ in Taman Mayang Jaya, PJ, serving Thai-style pork satay — a rare offering in the Klang Valley, where most satay is halal by default. Two types of pork satay are on the menu, made with sliced pork and fat threaded onto skewers, priced at about RM1.70 each, 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.

Planning Your Satay Crawl

Most of these stalls open only in the evening, so plan around a 5pm to 6:30pm start if you want first pick of the grill — several sell out popular cuts like satay perut, or simply close, by 9pm or 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.