Why You’ll Love This Nasi Dagang
Nasi Dagang is a traditional Malaysian dish that brings together fragrant coconut rice, rich fish curry, and fresh side dishes in one satisfying meal. It comes from Terengganu and Kelantan, and it is also well known in Pahang, Northeast Malaysia, southern Thailand, and some Indonesian islands. This Nasi Dagang recipe works well for home cooks who want a meal that feels special without being overly complicated.
- Easy to serve for groups: The dish is served as a main course and can be enjoyed hot or at room temperature, which makes it useful for gatherings, potlucks, and family meals.
- Balanced nutrition: The rice gives carbs, the fish curry adds protein, and the pickles and herbs bring fiber and freshness. Coconut milk adds richness and energy, while spices add flavor and aroma.
- Flexible for different needs: You can make authentic Nasi Dagang with tuna, chicken, prawns, or even smoky fish versions from other regions. It can also be adjusted for milder or spicier tastes.
- Distinct regional flavor: The mix of coconut milk, fenugreek, lemongrass, turmeric, and fried coconut gives Malaysian Nasi Dagang a taste that is different from other rice and curry dishes.
For readers who enjoy make-ahead dishes for sharing, this recipe fits the same practical spirit as easy hard-boiled eggs for meal prep, since many parts of the dish can be prepared in advance.
Nasi Dagang is best known for its creamy rice, savory fish curry, and bright pickles, making every bite rich, fragrant, and layered with texture.
Because the dish holds well at room temperature, it also suits busy parents, students, and working professionals who want a filling meal that travels well. The flavors stay strong even after resting for a while, which is one reason traditional Terengganu Nasi Dagang remains popular at markets and breakfast stalls.
Jump to:
- Why You’ll Love This Nasi Dagang
- Essential Ingredients for Nasi Dagang
- Main Ingredients
- Special Dietary Options
- How to Prepare the Perfect Nasi Dagang: Step-by-Step Guide
- First Step: Soak and season the rice
- Second Step: Steam the rice twice
- Third Step: Cook the fish curry
- Fourth Step: Fry the grated coconut
- Fifth Step: Prepare the eggs and pickles
- Final Step: Assemble and serve
- Dietary Substitutions to Customize Your Nasi Dagang
- Protein and Main Component Alternatives
- Vegetable, Sauce, and Seasoning Modifications
- Mastering Nasi Dagang: Advanced Tips and Variations
- Pro cooking techniques
- Flavor variations
- Presentation tips
- Make-ahead options
- How to Store Nasi Dagang: Best Practices
- FAQs: Frequently Asked Questions About Nasi Dagang
- What is Nasi Dagang?
- Where did Nasi Dagang come from?
- What are the key ingredients for Nasi Dagang?
- How do you make Nasi Dagang at home?
- Is Nasi Dagang healthy and can it fit a diet?
- Nasi Dagang
- Ingredients
- Instructions
- Last Step:
- Notes
- Nutrition
- Did you make this recipe?
Essential Ingredients for Nasi Dagang
The ingredients below reflect the traditional base of this authentic Malaysian Nasi Dagang recipe. Exact amounts can vary by household and region, but this list gives a practical home-cooking guide for a full meal.
Main Ingredients
- 2 cups rice or beras nasi dagang if available – soaked for several hours so it steams into a soft, fragrant base.
- 1 1/2 cups thick coconut milk for the rice – gives the rice its creamy taste and rich texture.
- 2 shallots, thinly sliced – mixed into the rice for aroma and mild sweetness.
- 1 teaspoon fenugreek seeds – adds the classic Nasi Dagang aroma.
- 2 pandan leaves, optional – adds a light floral scent in some home versions.
- 500 g tuna, or other firm fish, chicken, or prawns – the main protein for the curry.
- 2 cups coconut milk for the curry – forms the creamy gravy.
- 2 stalks lemongrass, bruised – gives the curry a fresh citrus note.
- 2 tablespoons chili paste – adds heat and depth.
- 1 teaspoon turmeric – gives color and earthy flavor.
- Malay spices, as needed – supports the traditional gulai-style curry flavor.
- 2 cups freshly grated coconut – used for kelapa goreng, the fried coconut topping.
- 2 shallots, thinly sliced for the coconut topping – helps the fried coconut turn savory and aromatic.
- 4 hard-boiled eggs – sliced into quarters or eighths for serving.
- 1 cucumber, sliced – used in the pickled vegetable side.
- 1 small carrot, sliced – adds color and crunch to the pickles.
- 2 chilies, sliced – used in the pickle mix for mild heat.
- 1/2 cup rice vinegar – gives the pickles their tang.
- 2 tablespoons sugar – balances the sourness in the pickles.
- Sambal, optional – served on the side for extra heat.
- Telur pindang, optional – herb-boiled eggs sometimes served in regional versions.
- Gulai lemak ikan salai, optional – smoky fish in spicy creamy gravy, common in some Natuna and Anambas style variations.
Special Dietary Options
- Vegan: Replace fish curry with curried tofu, tempeh, or mushrooms cooked in coconut milk and spices.
- Gluten-free: This dish is naturally gluten-free when you use pure spices and gluten-free chili paste.
- Low-calorie: Use less coconut milk, reduce fried coconut, and serve more cucumber and pickled vegetables.
For another dish that works well for crowd-friendly serving, you might also like sweetcorn and jalapeno fritters, which pair nicely with shared meals and casual gatherings.
How to Prepare the Perfect Nasi Dagang: Step-by-Step Guide
First Step: Soak and season the rice
Rinse the rice well, then soak it for 4 to 6 hours. This is important for the texture of Nasi Dagang rice and fish curry, since the rice needs time to absorb moisture before steaming. After soaking, drain the rice and mix it with thick coconut milk, sliced shallots, fenugreek seeds, and pandan leaves if you are using them.
The mixture should look wet, but not soupy. If you are using beras nasi dagang, follow the same method and allow the grains to sit long enough to take on the coconut flavor. This step gives the dish its soft, fragrant base.
Second Step: Steam the rice twice
Place the rice mixture in a steamer and steam it for the first session. After part of the steaming time has passed, add more coconut milk over the rice and continue steaming. The full steaming time should be about 45 minutes to 1 hour total, depending on the grain and your steamer.
This double-steaming method helps create the creamy, tender texture that people expect from authentic Nasi Dagang. Stir lightly if needed so the coconut milk spreads evenly. The rice should become soft, glossy, and aromatic without turning mushy.
If the rice seems dry during steaming, add a little more coconut milk or warm water in small amounts. The goal is a moist, fluffy, creamy result.
Third Step: Cook the fish curry
While the rice steams, prepare the fish curry, also called kari ikan or gulai darat. Put coconut milk, bruised lemongrass, turmeric, chili paste, and Malay spices into a pot. Bring the mixture to a gentle simmer, then add the fish. Tuna is a classic choice because it stays firm, but chicken or prawns can also be used.
Cook the curry for 30 to 45 minutes, stirring gently so the fish does not break apart. The sauce should thicken slightly and become fragrant. If you want a milder version for children or sensitive eaters, reduce the chili paste and use a little more coconut milk.
Fourth Step: Fry the grated coconut
Heat a pan over medium heat and add the freshly grated coconut with sliced shallots. Stir often for 15 to 20 minutes until the mixture turns golden brown. This is the kelapa goreng topping, and it adds a toasted flavor and a dry, crumbly texture that balances the soft rice.
Do not let it burn, because burnt coconut tastes bitter. Keep the heat moderate and stir steadily. The final color should be golden, not dark brown.
Fifth Step: Prepare the eggs and pickles
Boil the eggs until hard-cooked, then cool them, peel them, and slice them into quarters or eighths. These eggs add extra protein and make the meal more filling. At the same time, prepare the pickled vegetables by soaking cucumber, chili, and carrot slices in rice vinegar and sugar. Let them sit for at least 30 minutes, though several hours gives a better balance of sweet and sour.
The pickles cut through the richness of the coconut rice and curry. They also add a bright color that makes the plate look more complete. This is especially useful for traditional Terengganu Nasi Dagang, where the sides are often kept simple and balanced.
Final Step: Assemble and serve
Spoon the coconut rice onto each plate, then top or arrange it beside the fish curry. Add the fried coconut, boiled eggs, and pickled vegetables. If desired, serve sambal on the side for more heat. Some regions also include telur pindang or gulai lemak ikan salai for a different flavor profile.
Nasi Dagang can be served hot or at room temperature, which makes it practical for lunch boxes, picnics, and community meals. The best plates have a balance of creamy rice, savory curry, crunchy topping, and tangy pickles. For fish-based meals that fit into a balanced diet, see the public health guidance from this fish nutrition resource.

Dietary Substitutions to Customize Your Nasi Dagang
Protein and Main Component Alternatives
If you cannot find tuna, use another firm fish such as mackerel or a sturdy white fish. This keeps the curry intact during cooking and still gives you the bold flavor expected in Malaysian Nasi Dagang. Chicken and prawns also work well, especially if you want a different texture or need to use what is already in your kitchen.
For a plant-based version, use tempeh, tofu, or mushrooms in a coconut curry sauce. You can also serve the rice with lentils and vegetables if you want a lighter meal. If you need a lower-fat option, reduce the fried coconut and serve more pickled vegetables.
Vegetable, Sauce, and Seasoning Modifications
You can adjust the pickle mix based on what you have available. Use cucumbers alone for a simple version, or add carrots and chilies for more color and crunch. If you like a sharper taste, use a little more vinegar. If you prefer a milder pickle, increase the sugar slightly.
The curry can also shift by region. Terengganu style is often simpler, with just curry and pickles. Kelantanese versions may use beras nasi dagang, which has a light purple tint and a glutinous wild rice feel. For a stronger aroma, keep the fenugreek. For a softer taste, reduce it slightly.
If you want to make the dish more filling for a crowd, serve it with extra eggs or a side of spicy sambal. If you want a lighter plate for diet-conscious diners, keep the rice portion smaller and increase the vegetables.
Mastering Nasi Dagang: Advanced Tips and Variations
Pro cooking techniques
Use firm fish like tuna so the curry stays neat while simmering. Cook the rice in two stages because the double-steaming method is what gives how to make Nasi Dagang at home its signature texture. Add the coconut milk midway through steaming, not all at once, so the rice turns creamy without becoming heavy.
Watch the heat carefully when frying the coconut. The line between golden and burnt is short, and the best texture comes from slow stirring over medium heat. Also, taste the curry before serving and adjust salt, sweetness, and chili level as needed.
Flavor variations
Some households add a little more turmeric for a deeper color, while others increase lemongrass for a brighter aroma. You can also serve sambal for a stronger spicy note. In some island regions, smoked fish curry or gulai lemak ikan salai is used instead of the more common tuna curry, giving the meal a smoky edge.
For a more traditional look, include telur pindang and serve the rice with only curry and pickles. That simpler plate still feels complete and stays true to the classic east coast style.
Presentation tips
Serve the rice in a neat mound, then spoon the curry beside it so the gravy does not cover everything. Place the eggs and pickles in separate sections for color contrast. Sprinkle the fried coconut on top just before serving so it keeps its texture.
A well-plated serving of authentic Malaysian Nasi Dagang recipe should show cream, gold, green, and red tones. That visual balance makes the dish feel as inviting as it tastes.
Make-ahead options
The rice can be soaked earlier in the day or even overnight if your schedule is tight. The curry often tastes better after resting for a short time, so it can be cooked ahead and reheated gently. Pickles can also sit in the fridge for several hours, which makes them ideal for busy parents, students, and working professionals.
If you are serving a group, prepare the eggs, pickles, and curry ahead, then steam the rice near serving time. That timing keeps the rice fresh and fragrant while reducing stress in the kitchen.
How to Store Nasi Dagang: Best Practices
Refrigeration: Store the rice, curry, and side dishes in separate containers. Keep them in the fridge for up to 2 to 3 days. The curry and pickles usually hold well, while the rice stays best when cooled quickly before storing.
Freezing: The fish curry freezes better than the rice. If needed, freeze curry in airtight containers for up to 1 month. The rice can be frozen too, but the texture may change a little after thawing.
Reheating: Reheat the curry on the stove over low heat until hot. Add a splash of coconut milk or water if it looks too thick. Steam or microwave the rice with a little moisture so it softens again without drying out.
Meal prep considerations: For batch cooking, make the curry and pickles first, then cook the rice on the day you plan to serve it. This keeps the coconut rice fresher and helps the dish keep its proper texture.

FAQs: Frequently Asked Questions About Nasi Dagang
What is Nasi Dagang?
Nasi Dagang is a traditional Malaysian dish from the east coast, especially Terengganu and Kelantan. It features glutinous rice cooked in coconut milk, giving it a rich, sticky texture and aromatic flavor. The rice is typically served with a spicy fish curry made from ikan tongkol (tuna) or mackerel, topped with sambal tumis (a sweet-spicy relish), hard-boiled eggs, and ulam (fresh herbs like cucumber or turmeric leaves). This breakfast staple balances creamy rice with bold, savory curry. It’s often enjoyed fresh from street stalls, where the rice is steamed in banana leaves for extra fragrance. Nutritionally, it provides carbs from rice, protein from fish, and healthy fats from coconut—around 600-800 calories per serving. Perfect for a hearty morning meal.
Where did Nasi Dagang come from?
Nasi Dagang originated in Terengganu, Malaysia, among the local Malay fishing communities. Its name translates to “trader’s rice,” linked to historical trade routes where fishermen traded fish for rice from inland farmers. Introduced during the 19th century by Thai and Javanese influences, it evolved into a cultural icon. UNESCO recognizes it as part of Malaysia’s intangible heritage. Today, it’s a breakfast favorite during festive seasons like Hari Raya. Authentic versions are still prepared in traditional ways at markets in Kuala Terengganu, using fresh catches and heirloom recipes passed down generations. Visitors can try it at spots like Tok Su’s stall for the genuine taste.
What are the key ingredients for Nasi Dagang?
Core ingredients for Nasi Dagang include glutinous rice (beras dagang), coconut milk, fenugreek seeds (halba), and salt for the rice. The accompanying gulai ikan (fish curry) uses fresh tuna or mackerel, turmeric, galangal, lemongrass, shallots, chilies, and tamarind for tanginess. Sambal tumis features red chilies, onions, palm sugar, and shrimp paste. Fresh accompaniments are cucumber slices, half-boiled eggs, and optional keropok (crackers). For 4 servings: 2 cups glutinous rice, 2 cans coconut milk, 1 tsp fenugreek, 500g fish. These create the dish’s signature creamy, spicy profile. Source sustainable fish and thick coconut milk for best results.
How do you make Nasi Dagang at home?
To make Nasi Dagang for 4: Rinse 2 cups glutinous rice, soak 30 minutes. Cook with 2 cans coconut milk, 1 tsp fenugreek seeds, pinch of salt over low heat until fluffy (about 20 minutes); steam in banana leaves for 10 more. For curry: Blend 10 shallots, 5 garlic cloves, 3 lemongrass stalks, 2-inch turmeric, chilies; fry paste, add 500g tuna chunks, 1 cup coconut milk, tamarind juice; simmer 15 minutes. Prep sambal by frying blended chilies, onions, 2 tbsp palm sugar. Serve rice with curry, sambal, egg, cucumber. Total time: 1 hour. Tip: Use a rice cooker for rice; adjust spice for mild version. Stores well refrigerated for 2 days.
Is Nasi Dagang healthy and can it fit a diet?
Nasi Dagang can be healthy in moderation, offering protein (20g+ from fish), fiber from rice/herbs, and medium-chain fats from coconut milk that aid metabolism. A serving has about 650 calories, 25g fat, 80g carbs, 25g protein. It’s naturally gluten-free and can be keto-adapted by reducing rice. Concerns: high sodium from curry; balance with veggies. For weight loss, use less coconut milk or grilled fish. Studies show Malaysian coastal diets with such dishes link to lower heart disease rates due to omega-3s in tuna. Vegans can swap fish for tempeh. Pair with walking for balanced nutrition—ideal for active lifestyles. Consult a doctor for personalized advice.

Nasi Dagang
🍚🥥 Nasi Dagang Recipe Authentic Malaysian Rice and Fish Curry creams fenugreek-coconut steamed rice aromatic tuna curry – exotic coastal feast!
🐟 2hr active flavor bomb: protein-rich carb-balanced pickles eggs side, Terengganu tradition home adventure!
- Total Time: 5 hours 30 minutes
- Yield: 4 servings
Ingredients
– 2 cups rice
– 1 1/2 cups thick coconut milk for the rice
– 2 shallots, thinly sliced for the rice
– 1 teaspoon fenugreek seeds for aroma
– 2 pandan leaves, optional for floral scent
– 500 g tuna for the curry
– 2 cups coconut milk for the curry
– 2 stalks lemongrass, bruised for citrus note
– 2 tablespoons chili paste for heat
– 1 teaspoon turmeric for color
– Malay spices, as needed for curry flavor
– 2 cups freshly grated coconut for fried coconut topping
– 2 shallots, thinly sliced for the coconut topping
– 4 hard-boiled eggs for serving
– 1 cucumber, sliced for pickled vegetables
– 1 small carrot, sliced for pickles
– 2 chilies, sliced for pickle mix
– 1/2 cup rice vinegar for pickles
– 2 tablespoons sugar for pickles
– Sambal, optional for extra heat
– Telur pindang, optional
– Gulai lemak ikan salai, optional
Instructions
1-First Step: Soak and season the rice Rinse the rice well, then soak it for 4 to 6 hours. This is important for the texture of Nasi Dagang rice and fish curry, since the rice needs time to absorb moisture before steaming. After soaking, drain the rice and mix it with thick coconut milk, sliced shallots, fenugreek seeds, and pandan leaves if you are using them. The mixture should look wet, but not soupy. If you are using beras nasi dagang, follow the same method and allow the grains to sit long enough to take on the coconut flavor. This step gives the dish its soft, fragrant base.
2-Second Step: Steam the rice twice Place the rice mixture in a steamer and steam it for the first session. After part of the steaming time has passed, add more coconut milk over the rice and continue steaming. The full steaming time should be about 45 minutes to 1 hour total, depending on the grain and your steamer. This double-steaming method helps create the creamy, tender texture that people expect from authentic Nasi Dagang. Stir lightly if needed so the coconut milk spreads evenly. The rice should become soft, glossy, and aromatic without turning mushy. If the rice seems dry during steaming, add a little more coconut milk or warm water in small amounts. The goal is a moist, fluffy, creamy result.
3-Third Step: Cook the fish curry While the rice steams, prepare the fish curry, also called kari ikan or gulai darat. Put coconut milk, bruised lemongrass, turmeric, chili paste, and Malay spices into a pot. Bring the mixture to a gentle simmer, then add the fish. Tuna is a classic choice because it stays firm, but chicken or prawns can also be used. Cook the curry for 30 to 45 minutes, stirring gently so the fish does not break apart. The sauce should thicken slightly and become fragrant. If you want a milder version for children or sensitive eaters, reduce the chili paste and use a little more coconut milk.
4-Fourth Step: Fry the grated coconut Heat a pan over medium heat and add the freshly grated coconut with sliced shallots. Stir often for 15 to 20 minutes until the mixture turns golden brown. This is the kelapa goreng topping, and it adds a toasted flavor and a dry, crumbly texture that balances the soft rice. Do not let it burn, because burnt coconut tastes bitter. Keep the heat moderate and stir steadily. The final color should be golden, not dark brown.
5-Fifth Step: Prepare the eggs and pickles Boil the eggs until hard-cooked, then cool them, peel them, and slice them into quarters or eighths. These eggs add extra protein and make the meal more filling. At the same time, prepare the pickled vegetables by soaking cucumber, chili, and carrot slices in rice vinegar and sugar. Let them sit for at least 30 minutes, though several hours gives a better balance of sweet and sour. The pickles cut through the richness of the coconut rice and curry. They also add a bright color that makes the plate look more complete. This is especially useful for traditional Terengganu Nasi Dagang, where the sides are often kept simple and balanced.
6-Final Step: Assemble and serve Spoon the coconut rice onto each plate, then top or arrange it beside the fish curry. Add the fried coconut, boiled eggs, and pickled vegetables. If desired, serve sambal on the side for more heat. Some regions also include telur pindang or gulai lemak ikan salai for a different flavor profile. Nasi Dagang can be served hot or at room temperature, which makes it practical for lunch boxes, picnics, and community meals. The best plates have a balance of creamy rice, savory curry, crunchy topping, and tangy pickles. For fish-based meals that fit into a balanced diet, see the public health guidance from this fish nutrition resource.
Last Step:
Please leave a rating and comment letting us know how you liked this recipe! This helps our business to thrive and continue providing free, high-quality recipes for you.Notes
🌾 Soak rice long – absorbs coconut perfect!
🥥 Double steam midway milk – creamy not dry!
🐟 Firm tuna chunks – holds curry sauce!
- Prep Time: 30 minutes
- Soaking: 4-6 hours
- Cook Time: 1 hour
- Category: Main Dish
- Method: Steamed
- Cuisine: Malaysian
- Diet: Gluten Free
Nutrition
- Serving Size: 1 serving
- Calories: 850 kcal
- Sugar: 15g
- Sodium: 800mg
- Fat: 45g
- Saturated Fat: 30g
- Unsaturated Fat: 15g
- Trans Fat: 0g
- Carbohydrates: 90g
- Fiber: 5g
- Protein: 35g
- Cholesterol: 200mg





