Two plates of rice arrive at a Kelantan breakfast stall and half the table cannot tell you which is which. One is blue and buried under raw herbs. The other is pale, glossy with coconut, and swimming in a dark fish curry. Both are East Coast breakfast staples, both get called "that Kelantan rice" by people from the West Coast, and neither is the other.
Nasi kerabu and nasi dagang are different dishes with different logic. Once you understand what each one is built around, ordering stops being a guessing game.
Nasi kerabu and nasi dagang are two separate dishes
The shortest possible version: nasi kerabu is a herb salad built on rice. Nasi dagang is a coconut rice built around a fish curry.
Nasi kerabu takes its name from kerabu, a Malay salad of raw or lightly blanched herbs and vegetables. The rice is the base. The point is the ulam piled on top.
Nasi dagang is steamed with coconut milk and served with a fish curry — usually tongkol, the small tuna that fishing boats land along the East Coast — plus boiled egg and pickled vegetables. The point is the gulai.
They overlap on one thing only: both are eaten in the morning, and both are usually gone by 10am at a stall that knows what it is doing.
What is actually on a nasi kerabu plate
The blue comes from bunga telang, the butterfly pea flower. The petals are steeped and the liquid is used to tint the rice. It adds colour, barely any flavour. A stall that serves white or brown nasi kerabu is not cutting corners — those versions exist too — but the blue one is what travels on Instagram.
Around the rice you get some combination of:
- Ulam — thinly sliced long beans, cabbage, cucumber, bean sprouts, four-angle beans, bunga kantan (torch ginger bud) and daun kesum (the laksa leaf, also called Vietnamese coriander)
- Kerisik — toasted grated coconut, often mixed with spices and flaked fish, which is where most of the richness comes from
- Budu — fermented anchovy sauce, salty and pungent, drizzled rather than poured
- Sambal — fresh chilli paste, heat level entirely at the stall's discretion
- Protein — fried chicken, ayam percik (grilled chicken in a coconut-chilli marinade), or dried fish
- Solok lada — chillies stuffed with grated coconut and fish
- Telur masin — salted egg, usually halved
- Keropok — crackers, for texture
The correct way to eat it is to destroy the presentation. Mix everything. The dish is designed so that one spoonful carries herb, coconut, ferment, chilli and crunch at once. Eating the components separately misses the whole design.
Budu is the divisive part. It is the flavour spine of the plate, and it is also the reason some first-timers push the plate away. If you are unsure, ask for it on the side — most stalls will oblige.
What is actually on a nasi dagang plate
Nasi dagang is quieter and heavier. The rice is steamed with coconut milk, often with fenugreek seeds and slivers of shallot and ginger folded through, which gives it a faint savoury-sweet edge before any curry touches it.
The gulai is the main event. Ikan tongkol is simmered until the flesh flakes apart, in a curry that ranges from thin and spice-forward to thick and almost jammy depending on the state and the cook.
Alongside: a hard-boiled egg, and acar — pickled cucumber and carrot, sometimes with pineapple. The acar is not decoration. The rice and curry are rich, and the pickle is the reset button between mouthfuls.
Portions are small by design. A single serving is often wrapped in banana leaf or paper and eaten standing up. Two packets is a normal breakfast.
Kelantan vs Terengganu: the nasi dagang split
This is the argument you will hear at any stall that serves both, and both sides are correct about their own state.
| Terengganu | Kelantan | |
|---|---|---|
| Rice | Standard white rice, steamed with coconut milk | Beras nasi dagang, a slightly glutinous grain with a light purple tint |
| Curry | Thicker, less sweet | Redder, noticeably sweeter |
| Sides | Simpler — fish curry and pickles | Often more elaborate, with sambal and extra accompaniments |
The Terengganu camp argues theirs is the older, purer form because it keeps the plate minimal and lets the tongkol carry it. The Kelantan camp argues theirs is more complete. As with the rojak naming debate, the honest answer is that these are regional dialects of the same dish, not a hierarchy.
Nasi kerabu splits too, though less sharply. Kelantan is the heartland and the version most people picture. Terengganu's tends to lean less hard on the budu.
How to order without stalling at the counter
At most East Coast stalls the process is fast and non-verbal. Someone points at a tray, you nod, you pay. Here is the sequence that keeps things moving.
For nasi kerabu:
- Pick your protein first — ayam goreng, ayam percik, or ikan
- Say yes or no to budu. This is the only decision that meaningfully changes the dish
- Say kurang pedas if you want the sambal dialled back
- Take the plate and mix everything before your first bite
For nasi dagang:
- Ask for one or two packets — satu or dua. Portions are small
- Confirm whether you want extra gulai. Some stalls charge for it, some do not
- Eat the acar between mouthfuls, not at the end
Two things worth knowing. Stalls sell out — nasi dagang in particular is often finished before mid-morning, because a batch is a batch and there is no second cooking. And prices vary enough by state and stall that it is not worth quoting a figure here; ask before you order if it matters.
Where you will actually find them
Kelantan and Terengganu are the obvious answer, but both dishes have travelled. Klang Valley has a steady supply through Kelantanese and Terengganu-run stalls, weekend markets and the East Coast food trucks that park in office areas on weekday mornings. Quality varies far more than it does at source — the tell is usually the ulam. If the herbs look tired, the kitchen is not turning over enough volume.
If you are heading east by rail rather than road, the ECRL trial run is worth tracking, since it changes the maths on a weekend trip to the source.
For a broader map of what else lands on a morning tray out there, our kuih guide covers the sweet half of the same breakfast.
FAQ
Is nasi kerabu always blue?
No. The blue comes from bunga telang and is the best-known version, but white and brown-rice nasi kerabu are both common. The colour does not change the flavour meaningfully — the ulam, kerisik and budu do.
What does budu taste like?
Salty, deeply savoury and fermented, made from anchovies and salt. It is closer to fish sauce than to sambal. If you have never had it, ask for it on the side the first time.
What fish is used in nasi dagang?
Ikan tongkol, a small tuna common along the East Coast, is the standard. It is simmered in gulai until it flakes.
Which is spicier?
Nasi kerabu, usually, because the sambal sits directly on the plate and you control very little of it. Nasi dagang's heat comes through the gulai and tends to be gentler and more rounded.
Can I eat nasi kerabu or nasi dagang for lunch?
You can, but you may not find any. Both are breakfast dishes at source, and stalls typically cook one batch and close when it is gone. In Klang Valley, where demand patterns are different, some outlets run through lunch.
Sources: Nasi kerabu — Wikipedia, Nasi dagang — Wikipedia, Nasi Kerabu Ayam Percik — MAGGI Malaysia



