Why You’ll Love This Nasi Dagang
Nasi Dagang is a traditional Malaysian rice dish that balances fragrant coconut rice with a rich fish curry. It’s the kind of meal that works for both weekend family breakfasts and weeknight dinners when you want something comforting and filling. What makes it stand out is the aroma, the creamy rice texture, and the tangy, spicy gulai darat flavor.
- Ease of preparation: The steps are organized and repeatable, with the rice cooked using coconut milk and fenugreek, then the curry made separately. Even if you are new to Malaysian cooking, you can follow a clear timing flow for soaking, steaming, and simmering.
- Distinctive flavor: Thick coconut-infused rice is fragrant and slightly sticky, while the fish curry adds chili warmth plus herbal notes from lemongrass and turmeric. The meal becomes more complex with sides like sambal, pickles, and fried grated coconut.
- Versatility: You can adjust the protein to match what you have at home, and you can also shift the curry intensity or side choices for different dietary needs.
- Family-friendly by design: It’s commonly served hot or at room temperature, which makes it practical for busy parents, seniors, and meal-prep routines.
Nasi Dagang is often sold as a hearty morning meal on the east coast, where coconut rice and spiced fish curry are a cultural staple.
Jump to:
- Why You’ll Love This Nasi Dagang
- Essential Ingredients for Nasi Dagang
- Main Ingredients (Coconut Rice and Fish Curry)
- Traditional Accompaniments
- Optional Regional Add-Ons
- Special Dietary Options
- How to Prepare the Perfect Nasi Dagang: Step-by-Step Guide
- Step-by-Step Method
- 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 by Region
- Presentation and Make-Ahead Ideas
- How to Store Nasi Dagang: Best Practices
- Refrigeration
- Freezing
- Reheating
- Meal Prep Considerations
- FAQs: Frequently Asked Questions About Nasi Dagang
- What is Nasi Dagang?
- Where does Nasi Dagang come from?
- How do you make Nasi Dagang at home?
- What’s the difference between Nasi Dagang and Nasi Lemak?
- Is Nasi Dagang healthy?
- Nasi Dagang
- Ingredients
- Instructions
- Last Step:
- Notes
- Nutrition
- Did you make this recipe?
Essential Ingredients for Nasi Dagang
Below is a home-cook friendly set of ingredients based on the traditional structure of Nasi Dagang: coconut-fenugreek rice, gulai darat fish curry, and classic accompaniments. In traditional versions, the rice can be made with purple glutinous rice in Kelantan or with regular white rice in Terengganu, and the curry is cooked separately for best texture.
Main Ingredients (Coconut Rice and Fish Curry)
Note: The sources you provided confirm key ingredients, but do not specify exact measurements for every item. To make the recipe usable, this list includes practical kitchen-standard measurements that you can scale up or down. If you prefer strict traditional proportions, treat the timing and method as the anchor and adjust the liquids to reach a creamy, steamed rice consistency.
- 2 cups glutinous rice (beras nasi dagang) or regular white rice, rinsed (for sticky coconut rice texture)
- 1.5 cups thick coconut milk (to steam the rice and make it creamy)
- 1 tsp fenugreek seeds (to infuse the rice flavor)
- 2 to 3 tbsp sliced shallots (for aroma in the rice)
- 1 tsp turmeric, optional (for color and earthy warmth in the rice)
- 1 to 2 tbsp neutral oil (for sautéing the curry base)
- 2 tbsp chili paste (for the gulai darat heat and body)
- 2 stalks lemongrass, bruised and cut (for traditional Malay herbal aroma)
- 1 tsp turmeric (for the curry base)
- 1 tbsp tamarind juice or tamarind water (to add tang to the fish curry)
- 500 g fish (tuna, such as ikan tongkol, or your preferred fish), cut into chunks (main protein)
- 1 cup coconut milk (for the fish curry richness)
- Salt, to taste (for balanced seasoning)
Traditional Accompaniments
- 1 cup freshly grated coconut (for fried grated coconut topping)
- 1/4 cup sliced shallots (for mixing with the grated coconut)
- 2 tbsp rice vinegar (for tangy pickles)
- 2 tbsp sugar (to balance vinegar tang)
- 1 small cucumber, thinly sliced (pickled crunch)
- 1/2 cup carrot, thinly sliced (sweetness and color)
- 1 to 2 fresh chilies, thinly sliced (for pickle heat)
- Sambal (chili paste), to serve (adjust heat level)
- 4 hard-boiled eggs, peeled and sliced (classic topping)
Optional Regional Add-Ons
- Herb-boiled eggs, also known as telur pindang, for a deeper savory egg flavor (optional)
- Gulai lemak ikan salai, spicy creamy smoked fish gravy (optional)
- Fresh ulam herbs, such as daun kesum, for serving (optional)
- Turmeric or extra shallots for garnish (optional)
Special Dietary Options
- Vegan: Replace fish curry with a coconut-tamarind vegetable curry using mushrooms or firm tofu. Keep the coconut-fenugreek rice and serve with sambal, pickles, and fried coconut topping.
- Gluten-free: Nasi Dagang is naturally gluten-free if your sambal and curry pastes do not contain wheat-based additives. Check labels on chili paste and tamarind products.
- Low-calorie: Use reduced-fat coconut milk where possible, and keep the fried grated coconut topping lighter (smaller portion). Add more cucumber and pickles for volume.
How to Prepare the Perfect Nasi Dagang: Step-by-Step Guide
Nasi Dagang typically takes several hours because the rice is soaked first and often double-steamed for a creamy texture. The curry is usually cooked separately so the fish stays tender and the gravy remains flavorful. This method also helps when you are serving guests, because you can time the rice and sides to finish together.
| Stage | Time | What You Do |
|---|---|---|
| Rice soaking | 30 minutes to 3 hours | Soak rice to soften, then infuse with coconut milk and fenugreek |
| Rice steaming (two stages) | ~25 to 40 minutes total | Steam once, add more coconut milk halfway, then steam again |
| Fish curry simmer | ~15 to 25 minutes | Simmer fish in coconut milk with lemongrass, chili paste, and turmeric |
| Sides and garnish | ~20 to 30 minutes | Fry grated coconut, pickle vegetables, slice eggs, make sambal |
Step-by-Step Method
First Step: Soak and prep your rice. Rinse 2 cups glutinous rice or regular white rice until the water runs clearer, then soak for 30 minutes to 3 hours to soften. Drain well. If you are using dried turmeric or have fenugreek seeds, measure them now so you can move smoothly into cooking.
Second Step: Infuse the rice mixture. In a bowl, mix soaked rice with thick coconut milk, fenugreek seeds, sliced shallots, and optional turmeric. Stir until the grains look evenly coated. For best results, let the mixture sit for 5 to 10 minutes so the fenugreek flavor disperses.
Third Step: Steam the rice (Stage 1). Transfer the rice mixture to a steamer and steam until it begins to set, usually 12 to 18 minutes depending on your steamer and rice type. You want the grains partially cooked so they can absorb more coconut milk later. Keep the lid closed to maintain steady heat.
Fourth Step: Add more coconut milk halfway. Open the steamer carefully. Stir and drizzle in additional coconut milk for creaminess, then continue steaming. This double-steaming approach is a common technique for getting that traditional sticky and fragrant texture.
Fifth Step: Finish steaming (Stage 2). Steam again until the rice is fully cooked and appears soft, glossy, and cohesive. If the mixture seems dry, add a small splash of water or coconut milk during steaming, then stir and cover. Once done, fluff gently and set aside while you cook the curry.
Final Step: Cook gulai darat and assemble. Prepare the fish curry separately by simmering fish in coconut milk with lemongrass, chili paste, and turmeric. Simmer until the fish flakes easily but remains tender. Serve rice hot or at room temperature with curry, sambal, pickled vegetables, sliced hard-boiled eggs, and fried grated coconut with shallots. Finish with fresh ulam herbs if you are using them.
For authenticity, keep the curry spice profile Malay, using lemongrass and chili paste rather than Indian curry powder.
Dietary Substitutions to Customize Your Nasi Dagang
Protein and Main Component Alternatives
If you prefer a different protein, the key is to keep the curry method the same: simmer in coconut milk with lemongrass, chili paste, and turmeric. Tuna or ikan tongkol is traditional, but you can also use mackerel, sardines, or other firm fish that holds shape during simmering. For a chicken version, cook chicken pieces gently in the coconut base until tender, then simmer a little longer for flavor.
Prawn-friendly approach: Use prawns last. Add them after the coconut spice base has simmered, and cook just until pink and tender. This prevents overcooking and keeps the texture consistent.
Vegetable, Sauce, and Seasoning Modifications
Pickled vegetables are a big part of the balance in Nasi Dagang. If you want to reduce spice, keep the cucumber and carrot, and use fewer chilies in the pickle. If you want more heat, add more sliced chili or serve extra sambal on the side.
For those who prefer a gluten-free option, verify your sambal or chili paste label for wheat-containing ingredients. If you are aiming for a lower-sodium meal, season gradually and use less added salt, relying on the tang of vinegar and tamarind to keep the flavor bright.
If you also enjoy coconut rice style meals, you may like this pairing idea from veggie fried rice as a flexible side for busy days when you want variety without changing your routine too much.
Mastering Nasi Dagang: Advanced Tips and Variations
Pro Cooking Techniques
- Soak longer for smoother texture: Soaking for several hours helps the rice soften evenly, especially for glutinous varieties.
- Double-steaming is worth it: Steam once, add more coconut milk halfway, then steam again for a creamy result.
- Keep curry separate: Preparing gulai darat on its own helps the fish stay tender and keeps the rice from becoming watery.
- Control consistency: If your curry looks too thick, loosen with a small splash of coconut milk. If it is too thin, simmer a little longer.
Flavor Variations by Region
Traditional differences show up most clearly in the rice and in the curry or side choices. Kelantan versions may use wild purple glutinous rice (beras nasi dagang), which adds a distinct reddish-purple look and slightly deeper flavor. Terengganu versions more often use regular white rice while still keeping the coconut-fenugreek profile.
Some local variations also include smoky or richer gravies, such as gulai lemak ikan salai (spicy creamy smoked fish gravy). When you add optional regional sides, keep the plate balanced by choosing either smoked fish gravy or the main fish curry rather than stacking too many heavy gravies.
Presentation and Make-Ahead Ideas
For a classic presentation, place the rice in a mound or shallow bowl, ladle curry around it, then top with sliced eggs. Add fried grated coconut and garnish with pickles for color. Serve sambal on the side so each person controls heat.
Make-ahead: Cook the curry and hard-boil the eggs a day ahead. Store the rice separately and re-steam briefly to revive the texture. Pickles can be made in advance and keep well in the fridge.
For another rice-based comfort meal you can adapt for different schedules, see refried beans as a template for portioning and prepping components ahead of time.
How to Store Nasi Dagang: Best Practices
Proper storage helps your Nasi Dagang taste fresh and safe to eat. Since the dish includes coconut rice and fish curry, temperature control matters. Aim to cool leftovers quickly, then refrigerate or freeze them in portion-friendly containers.
Refrigeration
- Cool rice and curry separately, then store in airtight containers.
- Refrigerate within 2 hours of cooking.
- Consume within 2 to 3 days for best quality.
Freezing
- Freeze curry in sealed containers or freezer bags.
- Freeze rice separately if possible to avoid texture changes.
- For best taste, use within 1 to 2 months.
Reheating
- Reheat curry gently in a pot over low heat, stirring occasionally.
- Re-steam rice with a small splash of water or coconut milk to restore softness.
- Do not reheat fish curry repeatedly; reheat only the amount you need.
Meal Prep Considerations
When planning ahead, prep pickles and fried grated coconut fresh or store them separately. Sambal tastes best when served fresh, but you can store it for a short time. This keeps the overall flavor brighter for school lunches and quick dinners.

FAQs: Frequently Asked Questions About Nasi Dagang
What is Nasi Dagang?
Where does Nasi Dagang come from?
How do you make Nasi Dagang at home?
What’s the difference between Nasi Dagang and Nasi Lemak?
Is Nasi Dagang healthy?

Nasi Dagang
🍚 Fragrant coconut-infused glutinous rice steamed with fenugreek – creamy, aromatic base for luxurious Malaysian breakfast or brunch!
🐟 Rich tuna gulai curry bursting with lemongrass and turmeric, paired with pickles and sambal for authentic flavor explosion!
- Total Time: 3 hours 15 minutes
- Yield: 4 servings
Ingredients
– 2 cups glutinous rice (beras nasi dagang) or regular white rice for sticky coconut rice texture
– 1.5 cups thick coconut milk to steam the rice and make it creamy
– 1 tsp fenugreek seeds to infuse the rice flavor
– 2 to 3 tbsp sliced shallots for aroma in the rice
– 1 tsp turmeric for color and earthy warmth in the rice
– 1 to 2 tbsp neutral oil for sautéing the curry base
– 2 tbsp chili paste for the gulai darat heat and body
– 2 stalks lemongrass, bruised and cut for traditional Malay herbal aroma
– 1 tsp turmeric for the curry base
– 1 tbsp tamarind juice or tamarind water to add tang to the fish curry
– 500 g fish (tuna, such as ikan tongkol, or your preferred fish), cut into chunks for main protein
– 1 cup coconut milk for the fish curry richness
– Salt to taste for balanced seasoning
– 1 cup freshly grated coconut for fried grated coconut topping
– 1/4 cup sliced shallots for mixing with the grated coconut
– 2 tbsp rice vinegar for tangy pickles
– 2 tbsp sugar to balance vinegar tang
– 1 small cucumber, thinly sliced for pickled crunch
– 1/2 cup carrot, thinly sliced for sweetness and color
– 1 to 2 fresh chilies, thinly sliced for pickle heat
– Sambal (chili paste) to serve
– 4 hard-boiled eggs, peeled and sliced for classic topping
– Herb-boiled eggs, also known as telur pindang for a deeper savory egg flavor
– Fresh ulam herbs, such as daun kesum for serving
– Turmeric or extra shallots for garnish
Instructions
1-First Step: Soak and prep your rice. Rinse 2 cups glutinous rice or regular white rice until the water runs clearer, then soak for 30 minutes to 3 hours to soften. Drain well. If you are using dried turmeric or have fenugreek seeds, measure them now so you can move smoothly into cooking.
2-Second Step: Infuse the rice mixture. In a bowl, mix soaked rice with thick coconut milk, fenugreek seeds, sliced shallots, and optional turmeric. Stir until the grains look evenly coated. For best results, let the mixture sit for 5 to 10 minutes so the fenugreek flavor disperses.
3-Third Step: Steam the rice (Stage 1). Transfer the rice mixture to a steamer and steam until it begins to set, usually 12 to 18 minutes depending on your steamer and rice type. You want the grains partially cooked so they can absorb more coconut milk later. Keep the lid closed to maintain steady heat.
4-Fourth Step: Add more coconut milk halfway. Open the steamer carefully. Stir and drizzle in additional coconut milk for creaminess, then continue steaming. This double-steaming approach is a common technique for getting that traditional sticky and fragrant texture.
5-Fifth Step: Finish steaming (Stage 2). Steam again until the rice is fully cooked and appears soft, glossy, and cohesive. If the mixture seems dry, add a small splash of water or coconut milk during steaming, then stir and cover. Once done, fluff gently and set aside while you cook the curry.
6-Final Step: Cook gulai darat and assemble. Prepare the fish curry separately by simmering fish in coconut milk with lemongrass, chili paste, and turmeric. Simmer until the fish flakes easily but remains tender. Serve rice hot or at room temperature with curry, sambal, pickled vegetables, sliced hard-boiled eggs, and fried grated coconut with shallots. Finish with fresh ulam herbs if you are using them.
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 for perfect creamy glutinous texture.
🐟 Use fresh tuna or mackerel; poach gently to stay flaky.
🥥 Double-steam rice with coconut milk additions for authentic richness.
- Prep Time: 30 minutes
- Soaking: 2-4 hours
- Cook Time: 45 minutes
- Category: Rice Dishes
- Method: Steamed
- Cuisine: Malaysian
- Diet: Gluten-Free
Nutrition
- Serving Size: 1 portion
- Calories: 720 kcal
- Sugar: 10g
- Sodium: 1200mg
- Fat: 35g
- Saturated Fat: 25g
- Unsaturated Fat: 10g
- Trans Fat: 0g
- Carbohydrates: 85g
- Fiber: 4g
- Protein: 25g
- Cholesterol: 100mg






