TL;DR: Eating here is small, casual and seafood-led — not a fine-dining scene. For the best plate on either island go to Crocodile Rock Bistro (Kecil, near Coral Bay — also the strongest veg/vegan kitchen) [1][2][14]. For atmosphere + a proper drink, World Café @ BuBu on Long Beach [1][24]. For cheap, authentic and local, the fishing-village food court on Kecil and Mama’s on Besar [6][34]. The real food prize is on the mainland, not the islands: do a Terengganu breakfast crawl (nasi dagang, keropok lekor, satar) around Kuala Besut / Kuala Terengganu [8][28]. Bring cash, expect island prices ~3× the mainland, and don’t come Nov–Feb — almost everything is shut [5][13][15].
The honest situation first
- This is warung-and-BBQ territory, not a restaurant town. Most “restaurants” are tied to a chalet/resort; standalone eateries are few, and on Perhentian Besar they are almost all resort-attached [5][12]. Stick to local food — the international dishes are generally subpar versions of the real thing [5].
- Prices are ~3× the mainland because nearly everything is imported by boat [5][1].
- Cash is king. Smaller eateries don’t take cards; tipping isn’t customary [13]. Bring enough ringgit for your whole stay.
- Alcohol is limited — Kecil’s village side is essentially dry; only a handful of resort restaurants and beach bars serve it, and it’s pricey [13][21].
- Seasonal close-down: the NE monsoon shuts most resorts, boats and kitchens roughly Nov–Feb/Mar; the islands run Mar–Oct, with Apr–Jun the sweet spot for weather, calm seas and thinner crowds [15][16].
- Money math (verify on arrival): ~1 RM ≈ €0.213 in June 2026, i.e. €1 ≈ RM4.7 [17]. So a RM15 BBQ fish ≈ €3.2, a RM40 whole sea bass ≈ €8.5, a beach beer (RM12) ≈ €2.5 [5][6][21].
Perhentian Kecil (Small — livelier, backpacker side)
Where-tags below: LB = Long Beach (Pasir Panjang), CB = Coral Bay, FV = fishing village (Kampung), other beaches named.
| Spot | Where | What & why | €/budget | Flag |
|---|---|---|---|---|
| Crocodile Rock Bistro | Kecil — quiet beach ~15 min walk from CB | Top-rated food on the islands (TripAdvisor 4.7); home-grown herbs, fish baked in banana leaf, turmeric prawns, sweet-potato gnocchi, house desserts. Best veg/vegan/GF kitchen here. Tiny — book on WhatsApp; closed Wed, dinner ~6:30–10pm | €€€ | offbeat |
| World Café @ BuBu Villa | Kecil — LB | “Hands-down nicest at Long Beach”; Italian chef, seafood, best setting/views, serves alcohol, open all day | €€€ | touristy |
| Santai (BuBu Resort) | Kecil — LB | Seaside BBQ, filet mignon, seafood pasta, pad thai; alcohol; great food but slow at peak & pricey | €€€ | touristy |
| Chillout Café & Craft | Kecil — LB | Highest TripAdvisor score (4.9); Kelantan/Terengganu home cooking + unusually strong vegan menu, pretty plating | €€ | offbeat |
| Ombak Café (Ombak Dive Resort) | Kecil — LB/CB | Local + western, sunset views, outdoor movie nights, fire shows; alcohol | €€ | touristy |
| Ewan’s Café | Kecil — between LB & CB | Long-standing budget backpacker hub; nasi goreng pattaya, fried rice, roti titab; strong WiFi; possibly cheapest on the island | € | offbeat |
| Amelia Café (Amelia Chalet) | Kecil — CB | Generous BBQ fish/chicken, curries, famous banana lassi & banana cake; best CB sunset table; alcohol | €€ | touristy |
| Rosemary | Kecil — CB | “Best fried rice in Perhentian”, 100% fruit shakes | € | offbeat |
| Tiara Café | Kecil — LB | Local: sotong masak kunyit, siakap 3 rasa (3-flavour sea bass) ~RM40; BBQ | €€ | touristy |
| Daniela Café | Kecil — LB | Beachfront tables, fresh simply-seasoned BBQ | €€ | touristy |
| Awatif Café | Kecil — LB (near BuBu) | Local, 3-flavour sea bass, nasi kukus, chicken burger; good value, unbeatable location | € | offbeat |
| Keranji Beach Café | Kecil — Keranji/Mira beach | Pancakes, coconut shakes, curries, hammocks; veg/vegan options; remote and chilled | €€ | offbeat |
| A’da Café | Kecil — LB | Pattaya noodles in tortilla, reputedly best fruit shakes | € | offbeat |
| Bayu (Alunan Resort) | Kecil — Petani Beach | Upscale-ish Malay/Thai (nyonya curry, rendang), alcohol | €€€ | touristy |
| Medan Selera (village food court) | Kecil — FV | Super-cheap, most authentic local food; no alcohol | € | offbeat |
| Perhentian Idaman Café | Kecil — SE coast | Sea-terrace, roti canai, “juices to die for” | €€ | offbeat |
| Perhentian Marriott | Kecil (per listing) — Teluk Dalam area | New 2024 5-star; 3 venues — Sekoci (wine-paired grilled seafood), Dapur (buffet + Malaysian), Greatroom (sunset cocktails). 25% dining promo for Visit Malaysia 2026 | €€€€ | touristy |
Sources: Crocodile Rock [1][2][6][14]; World Café [1][24]; Santai [6][32]; Chillout [2][19]; Ombak [6]; Ewan’s [6][29][22]; Amelia [5][22]; Rosemary/A’da/Landscape/Cafe Espresso [22]; Tiara [6][25]; Daniela/Keranji/Idaman/Awatif/Bayu [3][6][23]; food court [6]; Marriott [18][30].
Perhentian Besar (Big — quieter, family/resort side)
Standalone eateries barely exist here; dining is resort/chalet-attached and clusters on the main west beach, with beach BBQ common on Flora Bay [12].
| Spot | Where | What & why | €/budget | Flag |
|---|---|---|---|---|
| Mama’s Place | Besar — main west beach (north of Suhaila) | The Besar institution: family-run, best-value local + breakfast (pancakes, French toast, roti canai, banana fritters, teh tarik, good coffee), BBQ seafood; no alcohol, free WiFi | € | offbeat |
| Watercolours (Paradise Resort) | Besar — main beach | Busy nightly for “perfectly prepared, surprisingly affordable” seafood + pizza; “island’s best fried bananas”; alcohol | €€ | touristy |
| The Barat | Besar — seaside | Reckoned the best BBQ on Besar — grilled squid, barramundi, prawns, satay, standout chicken wings; coconut shakes; dinner rush 7–9pm | €€ | touristy |
| Tuna Bay (Tuna Bay Island Resort) | Besar — Tuna Bay (west) | Open to non-guests; fresh-fish deliveries, seafood tom yum, satay, mango lassi; scenic | €€ | touristy |
| Nia Café | Besar — beachfront | Family-run, casual; 3-rasa fish, squid fried rice; RM10–15 plates | € | offbeat |
| Belinda Café | Besar — beach | “Best value on the beach”; fresh seafood fried rice; some veg/vegan; sustainability-minded | € | offbeat |
| 3 Fish | Besar | Small, top-rated (TripAdvisor 5.0) European/Asian | €€ | offbeat |
| Coral View / Perhentian Island Resort | Besar — beachfront | Pricier hotel dining, sunset views; Coral View no alcohol | €€€ | touristy |
| Samudra Beach Chalet | Besar — Flora Bay | Beach BBQ; the spot for the Flora Bay end | €€ | offbeat |
Sources: Mama’s [6][34][35]; Watercolours [5][6][33]; The Barat [6][27][31]; Tuna Bay [4][3]; Nia/Belinda/3 Fish/Coral View [6][33]; Samudra Flora Bay [12][22].
Fresh-seafood BBQ — the thing to actually do
Every evening the beaches fill with charcoal smoke; you pick your fish/prawn/squid/crab (sometimes lobster) from the ice display and it’s grilled to order [6]. A grilled fish steak with sides runs ~RM15 (€3.2); a medium whole BBQ sea bass ~RM40 (€8.5) [5][6]. Best BBQ picks: The Barat (Besar), Santai/World Café & Amelia (Kecil), and the nightly “choose-and-grill” at Landscape on Long Beach [6][22][31]. Coral Bay (west-facing) is the sunset BBQ side — aim for ~6:30pm; Amelia and the Senja Bay/Ombak deckchairs are the prime tables [7][22].
Breakfast & coffee
- Mama’s (Besar) and Panorama Café (Long Beach, Kecil) do the classic island breakfast spread — pancakes, French toast, roti canai, eggs, fruit; Panorama runs a buffet ~8am–12pm [6][34].
- Proper coffee is scarce; the closest to a café-bar is Long Beach Café Espresso — air-con, good WiFi, lattes and pastries (not cheap) [22].
- Ewan’s pineapple pancake and Keranji’s coconut shake are local breakfast favourites [6][23].
- Many resorts include breakfast in half-board packages; if you want variety, eat independently — the warungs beat resort canteens [5].
Vegetarian & vegan
Vegetarian is do-able; vegan is harder (watch for fish sauce/shrimp paste — belacan — even in “veg” nasi goreng) [26]. Best bets: Crocodile Rock (vegan/GF always available — possibly the best veg food on the island), Chillout Café & Craft (many vegan dishes), Keranji, Belinda [14][19][20][6]. Useful phrases: “tak mau ayam/daging/ikan” (no chicken/meat/fish), “tak mau telur, tak mau susu” (no egg/milk) [13].
Terengganu specialties to chase (mostly on the mainland)
The islands cook generic Malay/western; the real regional food is on the coast you pass through. Worth a dedicated breakfast stop on the Kuala Besut ↔ Kuala Terengganu run [8][28]:
| Dish | What it is | Chase it at |
|---|---|---|
| Nasi dagang | Rice steamed in coconut milk with tuna/fish curry + pickles — the Terengganu breakfast | Mak Ngah (Chendering), Mek Biah (Marang market); KT: Mok Ngoh, Nasi Dagang Kak Pah |
| Keropok lekor | Chewy/crispy fried fish sausage with chilli dip — roadside tea-time snack | Stalls all along the coast; Keropok Lekor Tokku, Makming (KT); Warong Pok Nong (Batu Rakit) |
| Satar | Spiced fish minced, wrapped in banana leaf, charcoal-grilled | Pok Nor (Batu Rakit) — also does otak-otak |
| Laksam | Thick rolled rice noodles in fish-coconut gravy | Mek Biah (Marang), Gerai Mak Ngah (Penarik) |
| Nasi minyak / nasi kerabu | Ghee rice / blue herbed rice with sambal & sides | Gerai Mak Ngah (Penarik); KT stalls |
Sources: definitions [28]; named vendors [8]. Note: island menus rarely do these well — chase them on land.
Kuala Besut — the arrival/departure meal
The jetty town is small but has the freshest seafood you’ll eat on the trip before you even board [11]. Named spots from the local forum: fresh fish grill & fried squid opposite Samudra Hotel, Zul Ikan Bakar by the bridge, and April’s Café opposite the market entrance to the pier (good food, cheap) [9][10]. For a last/first proper local meal, hit the waterfront ikan bakar stalls (dinner) or grab nasi dagang at a morning warung / Pasar Tani Besut [11].
A drink (if you want one)
Kecil’s Long Beach is where the bars are: Beach Bar (Tiger cans ~RM12/€2.5, cocktails ~RM15/€3.2, nightly fire show), JUJA Bar (wooden shack by the jungle trail to Coral Bay), Lilly Bar, plus Monkey/Beach Boy/Joe’s [21][36][22]. On Besar, alcohol is mostly via the alcohol-serving resorts (Watercolours, Tuna Bay); Mama’s and Coral View are dry [6][12]. Tip: refill water bottles for ~RM1/litre instead of buying bottled [22].
Practical recap
- One must-book: Crocodile Rock (WhatsApp), small + closed Wed [14].
- Best cheap-local: village food court (Kecil) / Mama’s (Besar) [6][34].
- Best setting: sunset BBQ at Coral Bay (Kecil) / World Café for views [7][24].
- Best regional food: mainland, not islands [8].
- Don’t forget: cash, expect 3× prices, go Apr–Jun, skip Nov–Feb [13][15].