Nasi Dagang Recipe: Authentic Malaysian Coconut Rice and Fish Curry

Paisley Rose Avatar
By:
Paisley Rose
Published:

[grow_share_buttons]

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:

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.

StageTimeWhat You Do
Rice soaking30 minutes to 3 hoursSoak rice to soften, then infuse with coconut milk and fenugreek
Rice steaming (two stages)~25 to 40 minutes totalSteam once, add more coconut milk halfway, then steam again
Fish curry simmer~15 to 25 minutesSimmer fish in coconut milk with lemongrass, chili paste, and turmeric
Sides and garnish~20 to 30 minutesFry 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.

Nasi Dagang Recipe: Authentic Malaysian Coconut Rice And Fish Curry 9

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.

Nasi Dagang
Nasi Dagang Recipe: Authentic Malaysian Coconut Rice And Fish Curry 10

FAQs: Frequently Asked Questions About Nasi Dagang

What is Nasi Dagang?

Nasi Dagang is a traditional Malaysian breakfast dish originating from Terengganu, featuring glutinous rice cooked in thick coconut milk for a sticky, aromatic texture. It’s typically served with spicy fish curry made from ikan tongkol (mackerel tuna) or sardines, topped with sambal belacan (chili-shrimp paste), fresh ulam herbs like daun kesum, pickled vegetables, and a hard-boiled egg. The name “Nasi Dagang” translates to “trader’s rice,” reflecting its popularity among coastal traders. This hearty meal balances creamy rice with bold, tangy curry flavors, making it a weekend favorite in Malay cuisine. For authenticity, look for versions with reddish rice from natural ingredients like bunga siak.

Where does Nasi Dagang come from?

Nasi Dagang hails from the east coast of Peninsular Malaysia, particularly Terengganu and Kelantan, where it’s a cultural staple tied to Malay fishing communities. Fishermen prepare it as a sustaining breakfast before heading out to sea. It’s deeply rooted in Terengganu’s culinary heritage, often sold at morning markets or mamak stalls. UNESCO recognizes similar east coast Malay foods for their cultural significance. In Kuala Lumpur, you can find it at spots like Nasi Dagang Terengganu Pak Long, but for the real deal, visit Kuala Terengganu during Hari Raya celebrations when families make it fresh.

How do you make Nasi Dagang at home?

To make Nasi Dagang for 4 servings: Rinse 2 cups glutinous rice, soak 30 minutes, then cook with 1.5 cups coconut milk, 1 tsp fenugreek seeds, salt, and pandan leaves until fluffy (about 20 minutes in a rice cooker). For curry, sauté 2 tbsp rempah paste (blend shallots, garlic, ginger, turmeric, chilies), add 500g ikan tongkol chunks, 1 cup coconut milk, tamarind juice, and simmer 15 minutes. Serve rice with curry, sambal (blend chilies, belacan, lime), ulam, cucumber pickle, and egg. Total time: 1 hour. Use fresh coconut milk for best flavor—avoid canned if possible.

What’s the difference between Nasi Dagang and Nasi Lemak?

Nasi Dagang uses glutinous rice cooked in coconut milk with fenugreek for a sticky, reddish hue and pairs with fish curry, ulam, and sambal—ideal for east coast breakfasts. Nasi Lemak, from west coast Malay and Peranakan traditions, features regular jasmine rice in coconut milk, served with sambal, fried anchovies, peanuts, egg, and cucumber—more of a national snack anytime. Nasi Dagang is heartier and spicier with seafood focus; Nasi Lemak is lighter and crunchier. Both are coconut rice-based, but Dagang emphasizes trader-style sustenance over Lemak’s everyday appeal.

Is Nasi Dagang healthy?

Nasi Dagang can be nutritious in moderation: glutinous rice provides sustained energy carbs, fish curry offers omega-3s from mackerel (about 200-300 calories per serving), and ulam herbs add antioxidants and fiber. A typical plate has 500-700 calories, with coconut milk contributing healthy fats but also saturated fats—opt for low-fat versions. It’s rich in protein (20g+ from fish/egg) and vitamins from turmeric and tamarind. To make it healthier, use brown glutinous rice, less coconut milk, and extra veggies. Pair with teh tarik for balance, but limit to occasional treats due to high sodium in sambal. Diabetics should watch rice portions.
Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Nasi Dagang 51.Png

Nasi Dagang

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

🍚 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.

  • Author: Brandi Oshea
  • 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

Next Recipe

Leave a Comment

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star