Ingredients
– 2 cups (400g) glutinous rice or special beras nasi dagang rice
– 2 cups (500ml) thick coconut milk
– 1 tsp (5g) fenugreek seeds
– 4 shallots, thinly sliced, about 100g
– 1/2 tsp (2g) turmeric powder, optional
– Salt to taste
– 500g fresh tuna or mackerel fillets, cut into chunks
– 2 cups (500ml) coconut milk
– 3 tbsp (45g) chili paste, made from 10 dried chilies and 5 fresh red chilies
– 2 stalks lemongrass, bruised
– 2 tsp (10g) turmeric powder
– 1 tbsp (15g) tamarind paste or 2 tbsp tamarind juice
– 4 shallots, blended, about 100g
– 2 garlic cloves, blended, about 10g
– 1-inch ginger, blended, about 10g
– Salt and sugar to taste
– 2 tbsp vegetable oil
– 2 cups (200g) freshly grated coconut
– 4 shallots, sliced, about 100g
– Salt to taste
– 2 tbsp vegetable oil
– 4 hard-boiled eggs, quartered
– 1 cucumber, sliced
– 2 carrots, julienned
– 2 red chilies, sliced
– 1/2 cup (120ml) rice vinegar
– 2 tbsp (25g) sugar
– 2 tbsp sambal chili paste, optional
– 4 telur pindang, optional
Instructions
1-First Step: Soak the rice Start by rinsing 2 cups of glutinous rice or beras nasi dagang rice, then soak it in water for 4 to 8 hours or overnight. This step helps the grains cook evenly and become soft without breaking apart. After soaking, drain the rice well so the coconut milk can coat the grains properly during steaming.
2-Second Step: Season and steam the rice Place the drained rice in a heatproof bowl or steaming tray. Mix in 2 cups of thick coconut milk, fenugreek seeds, sliced shallots, turmeric powder if using, and salt. Steam for 20 to 25 minutes until the rice is half-cooked. The rice should look swollen but still slightly firm in the center. Next, add another 1 cup, about 250ml, of coconut milk, stir gently, and steam again for 20 to 25 minutes. This second steaming gives Nasi Dagang its creamy, fluffy texture. Do not stir too aggressively, because the grains can break and become mushy. The final rice should smell fragrant, feel tender, and hold together lightly.
3-Third Step: Prepare the spice base for the curry While the rice steams, heat 2 tbsp vegetable oil in a saucepan over medium heat. Add the blended shallots, garlic, ginger, chili paste, bruised lemongrass, and turmeric powder. Fry for about 5 minutes, stirring often, until the mixture smells cooked and the oil begins to separate slightly. This step removes the raw edge from the spices and builds the curry flavor. If your chili paste is very hot, you can reduce the amount slightly and make up the difference with extra fresh chilies or a milder paste. If you want a stronger color and deeper taste, let the paste cook a little longer, but lower the heat if it starts to stick.
4-Fourth Step: Simmer the fish curry Pour in the coconut milk and tamarind paste or tamarind juice. Stir well so the spice base blends into the liquid. Add the tuna or mackerel chunks and simmer for 10 to 15 minutes, or until the fish is cooked through and flakes easily. Keep the heat gentle because strong boiling can break the fish apart and cause the coconut milk to split. Season with salt and a little sugar to taste. The curry should be rich, slightly tangy, and mildly sweet, with enough chili heat to balance the coconut milk. If it tastes flat, add a small pinch of salt. If it tastes too sharp, add a little sugar.
5-Fifth Step: Cook the fried coconut topping In a separate pan, heat 2 tbsp vegetable oil over medium heat. Add the sliced shallots and fry briefly until fragrant. Then add the freshly grated coconut and salt. Stir constantly for 5 to 7 minutes until the coconut turns golden and slightly crisp. This part is important because it adds texture and a toasted aroma that contrasts with the soft rice and creamy curry. Do not leave the coconut unattended, since it can go from golden to burnt very quickly. A light brown color is ideal. Once cooked, set it aside to cool slightly.
6-Sixth Step: Prepare the eggs and pickles Boil the eggs for about 10 minutes, then cool them in cold water, peel, and quarter them. For the pickled vegetables, combine the sliced cucumber, julienned carrots, and sliced red chilies in a bowl. Mix the rice vinegar and sugar until the sugar dissolves, then pour it over the vegetables and let them soak for 1 hour. This quick pickle adds crunch and brightness to the finished dish. If you want a fuller traditional spread, prepare telur pindang ahead of time. These herb-boiled eggs add color and a deeper savory flavor.
7-Seventh Step: Assemble and serve Serve the steamed rice on a plate, spoon the fish curry beside it, and top or side it with the fried coconut. Add the hard-boiled eggs and pickled vegetables. If you like extra heat, add sambal chili paste. Nasi Dagang is often served as a complete meal, so aim for a balanced plate with rice, curry, protein, and fresh sides.
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 overnight for authentic sticky-creamy texture; use special nasi dagang rice if available.
🥥 Steam rice in two stages with coconut milk additions for perfect fluffiness.
🔥 Adjust chilies/tamarind for spice/sour balance; sub prawns or chicken easily.
- Prep Time: 30 minutes
- Rice Soaking: 4-8 hours
- Cook Time: 1 hour 30 minutes
- Category: Main Dish
- Method: Steaming
- Cuisine: Malaysian
Nutrition
- Serving Size: 1 cup rice + ½ cup curry
- Calories: 725 kcal
- Sugar: 10 g
- Sodium: 800 mg
- Fat: 40 g
- Saturated Fat: 25 g
- Unsaturated Fat: 15 g
- Trans Fat: 0 g
- Carbohydrates: 60 g
- Fiber: 4 g
- Protein: 25 g
- Cholesterol: 200 mg
