Nasi Dagang - Ginger Coconut Rice Recipe

Nasi Dagang - Ginger Coconut Rice Recipe

Rice Dishes 6 Last Update: Mar 22, 2026 Created: Mar 08, 2026
Nasi Dagang - Ginger Coconut Rice Recipe Nasi Dagang - Ginger Coconut Rice Recipe
  • Serves: 4 People
  • Prepare Time: 45 minutes
  • Cooking Time: 90 minutes
  • Calories: -
  • Difficulty: Medium
Print

Welcome to the definitive guide for crafting Nasi Dagang, a truly spectacular Malaysian culinary masterpiece! If you're ready to dive into a symphony of flavors—think incredibly fragrant ginger coconut rice, a warmly spiced fish curry, and a delightful tangy pickle—you've come to the right place. This complete, step-by-step Nasi Dagang meal—featuring the iconic ginger coconut rice (nasi), a rich Malaysian fish curry (gulai ikan), and quick pickles (acar)—is designed to be perfectly doable right in your US kitchen.
Whether you're a first-timer eager to explore authentic Malaysian cuisine, a rice cooker owner looking to expand your repertoire, or a curry lover seeking your next favorite dish, this recipe is for you. We'll demystify the techniques for achieving that perfectly "sticky but not gluey" glutinous rice, guide you through building a flavorful fish curry from scratch, and even help you find those essential ingredients.
So, what exactly is Nasi Dagang? Originating from the East Coast of Malaysia, particularly the states of Kelantan and Terengganu, it's a beloved breakfast and lunch staple. At its heart, it's a unique blend of steamed glutinous and long-grain rice, infused with fresh coconut milk, ginger, shallots, and the distinct aroma of fenugreek seeds. It’s traditionally served with a rich fish curry (often gulai ikan tongkol), a vibrant fresh pickle (acar timun), and hard-boiled eggs. While it shares some similarities with its more famous cousin, Nasi Lemak, Nasi Dagang stands apart with its unique rice texture—soft, slightly sticky, and incredibly aromatic from the fenugreek—and the distinct flavor profile of its accompanying fish curry. Forget bland rice; this is an experience!

Ingredients

Directions

  1. Start the Rice (Rinse and Soak)
    1. Combine the glutinous rice and long-grain jasmine rice in a large bowl. Rinse them thoroughly under cold running water, stirring with your hands, until the water runs mostly clear (this prevents mushy rice later!).
    2. Drain the rinsed rice and cover it with fresh water. Let it soak for a minimum of 2 hours, or ideally overnight (6-8 hours). Soaking ensures even cooking and that desirable sticky-but-separate texture.
  2. Prep the Curry Paste (Rempah)
    1. If using dried red chillies, soak them in hot water for 15-20 minutes until softened. Drain well.
    2. Combine the soaked dried chillies (or fresh chillies + paprika), chopped onion/shallots, garlic, ginger/galangal, turmeric powder (or fresh turmeric), coriander powder, fennel powder, and optional belacan in a blender or food processor. Add a splash of water (1-2 tablespoons) if needed to help it blend.
    3. Process until you have a smooth, uniform paste. If you have a mortar and pestle, you can pound it for a more traditional texture.
  3. First Steam for the Rice (Partial Cooking)
    1. Drain the soaked rice very, very well. Excess water is the one rule that prevents mushy rice!
    2. Line your steamer basket (bamboo or metal insert) with banana leaf or parchment paper, ensuring there are holes for steam to pass through.
    3. Spread the drained rice evenly in the lined steamer.
    4. Steam over vigorously boiling water for 15-20 minutes, or until the rice is partially cooked, slightly translucent, and still firm in the middle. It should feel warm and slightly sticky.
  4. Coconut Infusion Steam (Flavor and Texture)
    1. While the rice is steaming, combine the 1 cup full-fat coconut milk, ½ cup water, salt, and sugar in a bowl. Stir until the salt and sugar dissolve.
    2. Once the first steam is done, carefully transfer the hot, partially cooked rice to a large mixing bowl.
    3. Add the sliced ginger, sliced shallots, and the soaked fenugreek seeds (drained from their soaking water) to the rice.
    4. Pour the coconut milk mixture over the rice. Gently fold and stir the rice, ensuring every grain is coated with the fragrant coconut mixture. Be gentle to avoid breaking the grains.
    5. Return the coconut-infused rice to the steamer basket, spreading it evenly. If using, tuck in the knotted pandan leaf or bruised lemongrass.
    6. Steam again for another 15-25 minutes, or until the rice is fully cooked, glossy, tender, and has that characteristic sticky-but-separate texture. The fenugreek should be fragrant, not bitter.
  5. Cook the Curry Gravy (Building Flavor)
    1. While the rice finishes its second steam, heat 2 tablespoons of oil in a medium pot or wok over medium heat.
    2. Add the prepared curry paste (rempah) to the hot oil. Cook the paste, stirring constantly, for 10-15 minutes until it is very fragrant, has darkened in color, and the oil separates and rises to the surface. This is your clear cue for when it’s "done" and ensures maximum flavor.
    3. Pour in the 1.5 cups of full-fat coconut milk and ½ cup water. Stir well to combine with the cooked paste.
    4. Bring the curry to a gentle simmer over low-medium heat. Do not boil vigorously, as this can cause the coconut milk to split.
    5. Add the tamarind paste (or lime juice/sugar substitute), salt, and palm sugar substitute. Stir well and let it simmer gently for 10-15 minutes, allowing the gravy to thicken slightly and the flavors to meld. Taste and adjust for balance of salt, sweetness, and tang.
  6. Add Fish Gently (Maintaining Integrity)
    1. Once the curry gravy has reached your desired consistency and flavor, gently add the fish steaks/fillets to the simmering gravy. Ensure the fish is mostly submerged.
    2. Cook the fish gently for 5-8 minutes, depending on thickness, just until it's opaque and cooked through. Avoid overcooking to keep the pieces intact and prevent them from flaking apart.
    3. Carefully remove the pot from the heat.
  7. Quick Acar While Things Finish (Refreshing Side)
    1. In a small bowl, combine the sliced cucumber, julienned carrot, vinegar (or lime/calamansi juice), sugar, and salt. Add optional sliced chili if desired.
    2. Toss everything together until well combined. Let the acar rest for at least 10 minutes for the flavors to meld.
  8. Assemble & Serve (The Complete Meal)
    1. Fluff the steamed ginger coconut rice gently with a fork.
    2. Plate a generous portion of the rice.
    3. Ladle the rich fish curry (gulai ikan) over or alongside the rice, ensuring you get both fish and plenty of gravy.
    4. Add a serving of the quick acar (pickles) and a halved hard-boiled egg.
    5. Optional garnishes like fried shallots, toasted coconut flakes, or a dollop of sambal can be added for extra texture and flavor. Serve immediately and enjoy your authentic Nasi Dagang!

Nasi Dagang - Ginger Coconut Rice Recipe



  • Serves: 4 People
  • Prepare Time: 45 minutes
  • Cooking Time: 90 minutes
  • Calories: -
  • Difficulty: Medium

Welcome to the definitive guide for crafting Nasi Dagang, a truly spectacular Malaysian culinary masterpiece! If you're ready to dive into a symphony of flavors—think incredibly fragrant ginger coconut rice, a warmly spiced fish curry, and a delightful tangy pickle—you've come to the right place. This complete, step-by-step Nasi Dagang meal—featuring the iconic ginger coconut rice (nasi), a rich Malaysian fish curry (gulai ikan), and quick pickles (acar)—is designed to be perfectly doable right in your US kitchen.
Whether you're a first-timer eager to explore authentic Malaysian cuisine, a rice cooker owner looking to expand your repertoire, or a curry lover seeking your next favorite dish, this recipe is for you. We'll demystify the techniques for achieving that perfectly "sticky but not gluey" glutinous rice, guide you through building a flavorful fish curry from scratch, and even help you find those essential ingredients.
So, what exactly is Nasi Dagang? Originating from the East Coast of Malaysia, particularly the states of Kelantan and Terengganu, it's a beloved breakfast and lunch staple. At its heart, it's a unique blend of steamed glutinous and long-grain rice, infused with fresh coconut milk, ginger, shallots, and the distinct aroma of fenugreek seeds. It’s traditionally served with a rich fish curry (often gulai ikan tongkol), a vibrant fresh pickle (acar timun), and hard-boiled eggs. While it shares some similarities with its more famous cousin, Nasi Lemak, Nasi Dagang stands apart with its unique rice texture—soft, slightly sticky, and incredibly aromatic from the fenugreek—and the distinct flavor profile of its accompanying fish curry. Forget bland rice; this is an experience!

Ingredients

Directions

  1. Start the Rice (Rinse and Soak)
    1. Combine the glutinous rice and long-grain jasmine rice in a large bowl. Rinse them thoroughly under cold running water, stirring with your hands, until the water runs mostly clear (this prevents mushy rice later!).
    2. Drain the rinsed rice and cover it with fresh water. Let it soak for a minimum of 2 hours, or ideally overnight (6-8 hours). Soaking ensures even cooking and that desirable sticky-but-separate texture.
  2. Prep the Curry Paste (Rempah)
    1. If using dried red chillies, soak them in hot water for 15-20 minutes until softened. Drain well.
    2. Combine the soaked dried chillies (or fresh chillies + paprika), chopped onion/shallots, garlic, ginger/galangal, turmeric powder (or fresh turmeric), coriander powder, fennel powder, and optional belacan in a blender or food processor. Add a splash of water (1-2 tablespoons) if needed to help it blend.
    3. Process until you have a smooth, uniform paste. If you have a mortar and pestle, you can pound it for a more traditional texture.
  3. First Steam for the Rice (Partial Cooking)
    1. Drain the soaked rice very, very well. Excess water is the one rule that prevents mushy rice!
    2. Line your steamer basket (bamboo or metal insert) with banana leaf or parchment paper, ensuring there are holes for steam to pass through.
    3. Spread the drained rice evenly in the lined steamer.
    4. Steam over vigorously boiling water for 15-20 minutes, or until the rice is partially cooked, slightly translucent, and still firm in the middle. It should feel warm and slightly sticky.
  4. Coconut Infusion Steam (Flavor and Texture)
    1. While the rice is steaming, combine the 1 cup full-fat coconut milk, ½ cup water, salt, and sugar in a bowl. Stir until the salt and sugar dissolve.
    2. Once the first steam is done, carefully transfer the hot, partially cooked rice to a large mixing bowl.
    3. Add the sliced ginger, sliced shallots, and the soaked fenugreek seeds (drained from their soaking water) to the rice.
    4. Pour the coconut milk mixture over the rice. Gently fold and stir the rice, ensuring every grain is coated with the fragrant coconut mixture. Be gentle to avoid breaking the grains.
    5. Return the coconut-infused rice to the steamer basket, spreading it evenly. If using, tuck in the knotted pandan leaf or bruised lemongrass.
    6. Steam again for another 15-25 minutes, or until the rice is fully cooked, glossy, tender, and has that characteristic sticky-but-separate texture. The fenugreek should be fragrant, not bitter.
  5. Cook the Curry Gravy (Building Flavor)
    1. While the rice finishes its second steam, heat 2 tablespoons of oil in a medium pot or wok over medium heat.
    2. Add the prepared curry paste (rempah) to the hot oil. Cook the paste, stirring constantly, for 10-15 minutes until it is very fragrant, has darkened in color, and the oil separates and rises to the surface. This is your clear cue for when it’s "done" and ensures maximum flavor.
    3. Pour in the 1.5 cups of full-fat coconut milk and ½ cup water. Stir well to combine with the cooked paste.
    4. Bring the curry to a gentle simmer over low-medium heat. Do not boil vigorously, as this can cause the coconut milk to split.
    5. Add the tamarind paste (or lime juice/sugar substitute), salt, and palm sugar substitute. Stir well and let it simmer gently for 10-15 minutes, allowing the gravy to thicken slightly and the flavors to meld. Taste and adjust for balance of salt, sweetness, and tang.
  6. Add Fish Gently (Maintaining Integrity)
    1. Once the curry gravy has reached your desired consistency and flavor, gently add the fish steaks/fillets to the simmering gravy. Ensure the fish is mostly submerged.
    2. Cook the fish gently for 5-8 minutes, depending on thickness, just until it's opaque and cooked through. Avoid overcooking to keep the pieces intact and prevent them from flaking apart.
    3. Carefully remove the pot from the heat.
  7. Quick Acar While Things Finish (Refreshing Side)
    1. In a small bowl, combine the sliced cucumber, julienned carrot, vinegar (or lime/calamansi juice), sugar, and salt. Add optional sliced chili if desired.
    2. Toss everything together until well combined. Let the acar rest for at least 10 minutes for the flavors to meld.
  8. Assemble & Serve (The Complete Meal)
    1. Fluff the steamed ginger coconut rice gently with a fork.
    2. Plate a generous portion of the rice.
    3. Ladle the rich fish curry (gulai ikan) over or alongside the rice, ensuring you get both fish and plenty of gravy.
    4. Add a serving of the quick acar (pickles) and a halved hard-boiled egg.
    5. Optional garnishes like fried shallots, toasted coconut flakes, or a dollop of sambal can be added for extra texture and flavor. Serve immediately and enjoy your authentic Nasi Dagang!

You may also like

Newsletter

Sign up to receive email updates on new recipes.