Ingredients
– 2 cups rice
– 1 1/2 cups coconut milk for steaming the rice
– 1 teaspoon fenugreek seeds
– 2 small shallots
– 1/2 teaspoon salt
– 500 g fish such as tuna or ikan tongkol
– 2 cups coconut milk
– 2 stalks lemongrass
– 2 tablespoons chili paste
– 1 teaspoon turmeric powder
– 2 turmeric leaves
– 1 tablespoon tamarind juice or paste
– Salt to taste
– 1 cup fresh grated coconut
– 2 shallots
– 1 tablespoon oil
– Pinch of salt
– 4 hard-boiled eggs
– 1 cucumber
– 2 carrots
– 2 red chilies
– 1/2 cup rice vinegar
– 2 tablespoons sugar
– 1/2 teaspoon salt
– Sambal for serving
– Herb-boiled eggs for the Thailand variant
– Gulai lemak ikan salai for the Indonesian variant
– Extra ulam or fresh herbs
Instructions
1-First Step: Soak and prepare the rice Begin by rinsing the rice until the water runs mostly clear. Then soak it for 3 to 4 hours, which helps the grains soften and cook more evenly. This step is especially important for glutinous rice or the purple wild rice used in some kelantan nasi dagang variations. Drain the rice well after soaking so it does not become overly wet during steaming.
2-Second Step: Mix the rice with coconut milk and aromatics Transfer the soaked rice to a large bowl. Add the coconut milk, fenugreek seeds, sliced shallots, and salt. Stir gently so the grains are coated without breaking. Fenugreek gives the rice its classic fragrant note, while the shallots add mild sweetness. If you are making a Terengganu style version, the rice is often white and straightforward. In a Kelantan version, the rice may be darker, stickier, and richer.
3-Third Step: Steam the rice until tender Place the rice mixture in a steamer lined with muslin or a clean cloth if needed. Steam for about 20 to 25 minutes, then lift and fluff the rice. Add a little more coconut milk if the grains look dry. Steam again for another 20 to 30 minutes until the rice is fully cooked and creamy. This two-stage steaming method is one of the key traits of an authentic terengganu nasi dagang.
4-Fourth Step: Prepare the fish curry While the rice steams, make the curry. Heat a pot over medium heat and add a small amount of oil if needed. Cook the chili paste briefly to remove any raw taste, then add lemongrass, turmeric, turmeric leaves, coconut milk, and fish. If you are making nasi dagang with ikan tenggiri curry style flavors, mackerel or tuna work well. Simmer gently for about 30 minutes until the fish is cooked and the curry has thickened slightly. Stir occasionally so the coconut milk does not separate.
5-Fifth Step: Make the fried coconut topping Heat a pan and add a small amount of oil. Fry the sliced shallots until they soften, then add the grated coconut. Stir constantly over low to medium heat until the coconut becomes golden and fragrant. Keep the heat moderate so it does not burn. This topping, often called kelapa goreng, adds a toasted aroma and a pleasant contrast to the creamy rice and curry.
6-Sixth Step: Prepare the eggs and pickles Boil the eggs until firm, then cool them in cold water, peel, and slice. For the pickled vegetables, combine cucumber, carrots, and chilies with rice vinegar, sugar, and salt. Let them stand for 15 to 20 minutes. The quick pickle should taste bright, lightly sweet, and tangy. This element cuts through the richness of the coconut milk and makes each bite feel balanced.
7-Final Step: Assemble and serve Spoon the rice onto serving plates or a shallow platter. Top with fish curry, fried coconut, sliced eggs, and pickled vegetables. Add sambal if desired. The dish may be served hot or at room temperature, which makes it suitable for breakfast, lunch, or community gatherings. For readers who enjoy serving crowd-friendly dishes, this style of plated meal sits well beside other portable favorites such as chicken waffle sliders at a brunch table, although Nasi Dagang remains firmly rooted in Malaysian tradition.
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 3-4 hours minimum for perfect sticky, glutinous texture.
🥥 Steam rice twice with coconut milk refreshes creaminess every time.
🌴 Fresh grated coconut fries up fragrant – don’t skip this crunchy topping!
- Prep Time: 30 minutes
- Soak: 3-4 hours
- Cook Time: 1 hour
- Category: Main Dish
- Method: Steaming
- Cuisine: Malaysian
- Diet: Gluten-Free
Nutrition
- Serving Size: 1 bowl
- Calories: 700 kcal
- Sugar: 10g
- Sodium: 800mg
- Fat: 35g
- Saturated Fat: 25g
- Unsaturated Fat: 8g
- Trans Fat: 0g
- Carbohydrates: 80g
- Fiber: 4g
- Protein: 25g
- Cholesterol: 150mg
