Chef-tested recipe
Kelantan blue rice with grilled fish, fragrant herbs, coconut floss, budu, salted egg, and crackers

Nasi kerabu is a celebrated Kelantanese rice meal built around colour, fragrance, and contrast. Butterfly-pea flowers tint the rice a natural blue, while finely sliced herbs and vegetables provide freshness. Grilled fish, coconut fish floss, salty-fermented budu dressing, salted egg, and crisp crackers turn the rice into a complete east-coast Malaysian spread in which each diner mixes the components to taste.
Recipe at a glance
- Servings
- 6 servings
- Prep Time
- 1 hour
- Cook Time
- 1 hour 15 mins
- Resting Time
- 20 mins
- Total Time
- 2 hours 35 mins
- Cuisine
- Malaysian; Kelantanese
- Course
- Main dishes; noodles, rice, and bowls
- Cooking Method
- Flower infusion, rice steaming, fish grilling, coconut toasting, fine herb slicing, and platter assembly
- Difficulty
- Advanced
- Best Served With
- Best served as a complete platter with grilled or fried fish, budu, salted egg, keropok, fresh herbs, and lime; iced tea or lime juice pairs well.
Before you begin
Ingredients & equipment
Gather what you need first, then cook through the method with confidence.
As an Amazon Associate I earn from qualifying purchases. Ingredient and equipment links marked “paid link” may earn a commission at no extra cost to you.
Equipment
- Rice cooker or heavy pot with lidpaid link
- Charcoal or gas grillpaid link
- Wide frying panpaid link
- Fine-mesh sievepaid link
- Large mixing bowlpaid link
- Large serving platterpaid link
- Sharp chef’s knifepaid link
- Cutting boardpaid link
- Digital kitchen scalepaid link
Ingredients
For the blue rice
- Jasmine ricepaid link: 600 g
- Dried butterfly-pea flowerspaid link: 20 g
- Boiling water: 900 ml
- Pandan leaves, knotted: 30 g
- Lemongrass, bruised: 30 g
- Fine sea saltpaid link: 10 g
For the grilled fish
- Whole mackerel, cleaned and scored: 1000 g
- Ground turmeric: 8 g
- Fine sea saltpaid link: 10 g
- Fresh lime juice: 40 ml
- Neutral oil: 30 ml Shop paid link
For the coconut fish floss
- Cooked mackerel flesh, finely flaked: 250 g
- Freshly grated coconut: 250 g
- Shallots, finely sliced: 100 g
- Lemongrass tender inner stalk, finely sliced: 40 g
- Palm sugar, finely grated: 25 g Shop paid link
- Freshly ground black pepper: 3 g
- Fine sea saltpaid link: 5 g
- Neutral oil: 15 ml Shop paid link
For the herb salad
- White cabbage, very finely shredded: 300 g
- Long beans, very finely slicedpaid link: 200 g
- Bean sproutspaid link: 200 g
- Cucumber, cut into fine matchsticks: 300 g
- Torch ginger flower, finely sliced: 50 g
- Vietnamese mint leaves, finely sliced: 30 g
- Thai basil leaves, finely sliced: 20 g
- Fresh coriander leaves, chopped: 30 g
- Makrut lime leaves, finely sliced: 6 g
- Fresh mint leaves, finely sliced: 20 g
For the budu dressing
- Budu fermented fish saucepaid link: 100 ml
- Fresh lime juice: 50 ml
- Palm sugar, finely grated: 25 g Shop paid link
- Bird’s-eye chillies, finely sliced: 15 g
- Shallots, finely sliced: 80 g
For serving
- Salted duck eggs, halved: 240 g
- Fish crackers: 150 g
- Fresh lime wedges: 300 g
Preparation Overview
Infuse the butterfly-pea flowers before washing the rice. Use a very sharp knife for the herb salad; all leaves and vegetables should be sliced finely and kept dry. Prepare the coconut floss and budu dressing while the rice rests.
Method
Steep the butterfly-pea flowers in 900 ml boiling water for 20 minutes, then strain and reserve the blue infusion.
Rinse the jasmine rice until the water runs nearly clear and drain for 10 minutes.
Place the rice, 780 ml blue infusion, pandan, lemongrass, and 10 g salt in a heavy pot or rice cooker.
Cook until the liquid is absorbed, then rest covered for 10 minutes.
Remove the aromatics, fluff the blue rice gently, and keep warm.
Rub the whole mackerel with turmeric, 10 g salt, lime juice, and oil.
Grill over medium-high heat for 6 to 8 minutes per side until charred and the thickest flesh reaches 63°C, then rest for 5 minutes.
For the coconut floss, heat 15 ml oil in a wide frying pan and cook the shallots and lemongrass for 3 minutes.
Add the grated coconut and toast over medium-low heat for 8 to 10 minutes until dry and pale golden.
Add the flaked mackerel, palm sugar, pepper, and 5 g salt.
Continue stirring for 6 to 8 minutes until fragrant, dry, and fluffy, then cool.
Combine the cabbage, long beans, bean sprouts, cucumber, torch ginger, Vietnamese mint, Thai basil, coriander, makrut lime leaves, and mint in a large bowl.
Stir the budu, lime juice, palm sugar, chillies, and shallots together until the sugar dissolves.
Taste the budu dressing; it should be intensely salty, sour, sweet, and hot because only a small amount is used.
Mound the blue rice on a large platter and arrange the herb salad beside it.
Add the grilled mackerel, coconut fish floss, salted duck egg halves, fish crackers, and lime wedges in separate sections.
Serve the budu dressing in a small bowl rather than pouring it over the whole platter.
Invite diners to mix rice with herbs, floss, fish, egg, crackers, and a restrained spoonful of budu dressing.
Beginner Technique Notes
Butterfly-pea colour ranges from pale sky blue to indigo; concentration and rice variety affect the final shade.
Dry herbs after washing so they stay crisp and do not dilute the rice.
Budu is highly seasoned, so use it as a condiment and adjust no other component based on its saltiness.
Check grilled fish near the backbone and remove bones carefully before eating.
Tips and Variations
Fresh butterfly-pea flowers may replace dried flowers; use about 50 g and steep until deeply coloured.
Grilled turmeric chicken may replace mackerel, while fried fish is another common accompaniment.
Prepare the coconut fish floss and dressing one day ahead and refrigerate separately.
When torch ginger is unavailable, do not substitute a large amount of ginger; use extra mint, basil, and a little lime zest instead.
Serving Ideas
- Arrange every component in a distinct band around a central mound of blue rice so diners can see the colours before mixing small portions on their plates.
Storage
Refrigerate rice, fish, coconut floss, salad, eggs, and dressing in separate containers. Keep cooked rice and fish for up to 2 days and dressing and floss for up to 3 days. Reheat rice and fish thoroughly; serve herbs cold and crackers dry.
Nutritional Value
Allergen Notes
Contains fish and eggs. Budu and fish crackers contain fish and may contain shellfish, gluten, soy, or monosodium glutamate. Coconut is classified as a tree nut allergen in some jurisdictions.
Frequently Asked Questions
Why is nasi kerabu blue?
The rice is traditionally coloured with an infusion of bunga telang, or butterfly-pea flowers.
Is nasi kerabu always served with fish?
Fish is common in the grilled protein, coconut floss, budu, or crackers, although chicken versions are also popular.
What is budu?
Budu is a salty fermented fish sauce associated with Malaysia’s east coast and used sparingly as a condiment.
Can the components be prepared ahead?
Yes. Prepare rice, floss, fish, and dressing ahead, but slice and mix the herbs close to serving.