Why You’ll Love This Nasi Dagang
Nasi Dagang is a classic Malaysian dish with rice steamed in coconut milk and paired with a rich fish curry. It has a comforting texture, bold flavor, and a long history in the east coast states of Malaysia. If you want a meal that feels special but still works for home cooking, this Nasi Dagang recipe is a strong choice.
- Easy to prepare in stages: Nasi Dagang uses simple steps like soaking, steaming, frying, and simmering. The method looks detailed, but each part is manageable for home cooks, busy parents, and students who like a plan-based recipe.
- Good for a balanced meal: The dish combines rice, fish, eggs, and vegetables, so it brings together carbs, protein, and fresh pickles in one plate. That makes Nasi Dagang satisfying for family meals or weekend cooking.
- Flexible for different diets: You can use tuna, other fish, chicken, or prawns for the curry. You can also choose white rice for the Terengganu style or purple glutinous rice for the Kelantanese version.
- Distinctive coconut and spice flavor: The mix of coconut milk, fenugreek, lemongrass, ginger, turmeric, and chilli paste gives Nasi Dagang its well-known taste. The fried coconut and pickled vegetables add extra depth and contrast.
Nasi Dagang is known for layered flavor, creamy rice, and a curry that ties the whole meal together.
For readers who enjoy traditional Southeast Asian food, this dish offers a clear look at how Malay cooking balances richness, aroma, and texture. You can read more about the cultural background and serving style in this Nasi Dagang recipe reference.
Essential Ingredients for Nasi Dagang
The ingredients for Nasi Dagang are straightforward, but each one plays an important role. Since the dish is built from several parts, it helps to organize everything before cooking. This section includes the full ingredient list based on the recipe summary and the most common components of this Malaysian glutinous rice dish.
Main ingredients
- 2 cups rice, white rice for Terengganu style or purple glutinous rice for Kelantanese style, soaked in water for several hours
- 2 cups coconut milk, used for steaming the rice and for the curry
- 1 tablespoon fenugreek seeds
- 4 shallots, thinly sliced, divided for the rice and fried coconut
- 300 g tuna, or other fish such as mackerel, chicken, or prawns
- 2 stalks lemongrass, bruised
- 1 tablespoon ginger, chopped or minced
- 2 tablespoons chilli paste
- 1 teaspoon turmeric
- 1 cup shaved coconut
- 4 hard-boiled eggs, sliced
- 1 cucumber, thinly sliced for pickling
- 1 carrot, julienned for pickling
- 2 fresh chillies, sliced for pickling
- 1/2 cup rice vinegar
- 2 tablespoons sugar
- Optional sambal, to serve
- Optional herb-boiled eggs or spicy creamy gravy for regional variations
Ingredient notes
Coconut milk is used more than once, so keep extra on hand if the rice seems dry during steaming. Fenugreek seeds give the rice a gentle bitter aroma that is part of the dish’s identity. The pickled vegetables brighten the plate and help balance the richness of the curry.
| Ingredient group | Role in the dish | Common swap |
|---|---|---|
| Rice | Forms the base and carries the coconut flavor | White rice or purple glutinous rice |
| Fish curry | Adds spice and protein | Tuna, other fish, chicken, or prawns |
| Pickles | Adds acidity and crunch | Other quick-pickled vegetables |
| Fried coconut | Adds nutty texture and aroma | Keep as is for the traditional version |
Special dietary options
- Vegan: Replace the fish curry with curried mushrooms, tofu, or jackfruit, and skip the eggs.
- Gluten-free: This dish is naturally gluten-free if your chilli paste and condiments are free from wheat-based fillers.
- Lower calorie: Use a smaller portion of coconut milk in the curry and serve more pickled vegetables with less rice.
Useful links for side dishes and meal planning
If you like building a full meal menu, you may also enjoy this Asian-style salad idea as a fresh side for another day, or browse the menu planning guide when organizing family meals and gatherings.
How to Prepare the Perfect Nasi Dagang: Step-by-Step Guide
Nasi Dagang is made in parts, but the process becomes easy once you follow the order. The rice needs soaking and steaming, the curry needs a gentle simmer, and the coconut topping and pickles can be prepared while the other components cook. For best results, work with all the parts at once so everything is ready near the same time.
Step 1: Soak the rice
Rinse the rice well, then soak it in water for several hours. This softens the grains and helps the rice absorb the coconut milk during steaming. For purple glutinous rice, soak it a little longer if needed because the grains are denser than white rice.
Step 2: Start the first steaming stage
Drain the soaked rice and place it in a steaming tray or heat-safe bowl. Mix it with part of the coconut milk, the sliced shallots, and the fenugreek seeds. Steam until the rice is half-cooked. This usually takes about 20 to 30 minutes, depending on the rice type and steamer.
Step 3: Add more coconut milk
Remove the rice from the steamer and fluff it lightly. Add more coconut milk and mix gently so the grains stay separate. Return the rice to the steamer and cook again until the rice turns creamy and fully tender. The final texture should be moist, fragrant, and slightly sticky, not dry.
Step 4: Cook the fish curry
While the rice finishes steaming, prepare the curry. Place the tuna or chosen protein in a pot with coconut milk, bruised lemongrass, ginger, chilli paste, and turmeric. Simmer over medium-low heat until the fish is cooked through and the sauce thickens slightly. Stir gently so the fish pieces stay intact. If you are using chicken or prawns, adjust the cooking time so the protein is fully cooked but still tender.
Step 5: Fry the shaved coconut
Heat a dry pan over medium heat and add the shaved coconut with some sliced shallots. Stir often until the coconut turns golden brown and smells nutty. Watch closely because it can brown fast. This fried topping gives the dish one of its signature textures.
Step 6: Make the pickled vegetables
Place the cucumber, carrots, and chilli in a bowl. Add rice vinegar and sugar, then toss everything together. Let the vegetables sit while you finish the rest of the recipe. The pickles do not need a long soak, but even a short rest helps the flavor settle.
Step 7: Prepare the eggs and optional garnishes
Slice the hard-boiled eggs and set them aside. If you want a stronger finish, prepare sambal or use regional additions like herb-boiled eggs or a spicy creamy gravy. These extra items are not required, but they are useful when serving Nasi Dagang for guests or a festive meal.
Step 8: Assemble and serve
Spoon the coconut rice onto plates, add the fish curry alongside or on top, then arrange the sliced eggs, pickled vegetables, and fried coconut around the rice. Serve hot so the curry and rice stay fragrant. The best Nasi Dagang plate has creamy rice, rich curry, a sharp pickle, and a crisp topping all in one serving.
For the most balanced flavor, serve Nasi Dagang soon after cooking while the rice is warm and the curry is freshly simmered.
Dietary Substitutions to Customize Your Nasi Dagang
Protein and main component alternatives
The traditional version often uses tuna, but Nasi Dagang works well with other proteins too. If tuna is not available, use mackerel, sardines, chicken, or prawns. Chicken gives a milder flavor, while prawns add sweetness and cook quickly. For a plant-based meal, tofu or mushrooms can stand in for the fish curry base.
You can also switch between rice types depending on the regional style you want. White rice is common in Terengganu style Nasi Dagang, while purple glutinous rice is used in the Kelantanese version. Both versions keep the same coconut aroma and fenugreek note, but the texture and color change.
Vegetable, sauce, and seasoning modifications
If you want a lighter plate, increase the amount of pickled cucumber, carrot, and chilli, and reduce the portion of rice. You can also add extra sambal for more heat. In place of the standard fish curry, some cooks use a spicier gravy for a stronger finish. Regional serving ideas include herb-boiled eggs from Thailand or richer, spicy gravy from Indonesia.
For seasoning, keep the core ingredients of lemongrass, ginger, chilli paste, and turmeric because they define the curry’s character. If you need to reduce heat, lower the chilli paste amount and lean on turmeric and lemongrass for flavor. If you want a sharper taste, add a little more rice vinegar to the pickles.
Mastering Nasi Dagang: Advanced Tips and Variations
Pro cooking techniques
The rice should be steamed in stages so it becomes soft without turning mushy. After the first steam, the grains should still have some firmness. The second steam with extra coconut milk creates the creamy finish that many people associate with Nasi Dagang. If the rice looks dry, add coconut milk a little at a time rather than all at once.
For the curry, keep the heat moderate so the coconut milk does not split. Stir gently and avoid rapid boiling. This helps the sauce stay smooth and gives the fish a better texture. If you are making the dish for the first time, prepare each component separately before combining them at the end.
Flavor variations
Some cooks increase the fenugreek slightly for a more pronounced aroma, while others add extra fried shallots for sweetness. Sambal can be served on the side for people who enjoy more spice. Pickled vegetables also bring a strong contrast, so they should not be skipped if you want the plate to taste complete.
Presentation tips
Serve Nasi Dagang on a wide plate or shallow bowl so each component stays visible. Place the rice in the center, then spoon the curry beside it. Arrange the sliced eggs and pickled vegetables neatly around the edge, and sprinkle the fried coconut on top for texture. If you are serving guests, a small spoon of sambal on the side makes the plate look complete.
Make-ahead options
You can soak the rice the night before and make the pickles ahead of time. The curry can also be cooked earlier in the day and reheated gently before serving. Fried coconut should be made close to serving time so it keeps its crisp texture. These shortcuts are useful for working professionals, party hosts, and anyone cooking for a family schedule.
How to Store Nasi Dagang: Best Practices
When storing Nasi Dagang, keep the rice, curry, eggs, and pickles in separate containers. This helps the texture stay better and makes reheating easier. Because the dish contains coconut milk and fish, proper chilling is important.
Refrigeration
Store the rice and curry in airtight containers in the refrigerator for up to 3 days. Keep the pickled vegetables in a separate jar or container so they stay crisp. Sliced eggs are best stored separately and used within 2 days for the best texture.
Freezing
The fish curry freezes better than the rice. If you want to freeze, place the curry in a freezer-safe container and store it for up to 1 month. Rice can be frozen, but the texture may be softer after thawing. Pickles and eggs are not good freezer candidates.
Reheating
Reheat the rice with a splash of water or coconut milk so it becomes soft again. Warm the curry slowly on the stove over low heat, stirring often. If using a microwave, heat in short bursts to avoid drying out the rice. Add the pickles and eggs only after reheating the hot components.
Meal prep considerations
Nasi Dagang works well for batch cooking because the parts can be stored separately and assembled later. Soaking the rice in advance and making the curry early can save time on busy days. If you are planning meals for the week, keep the fried coconut in a dry container so it does not lose its crunch.
FAQs: Frequently Asked Questions About Nasi Dagang
PrintNasi Dagang
🍚 Indulge in the creamy, aromatic glutinous rice steamed to perfection with coconut milk, offering a comforting and energizing Malaysian breakfast experience.
🌶️ Experience the bold flavors of spicy fish curry, crunchy fried coconut, and tangy pickles that make this authentic Nasi Dagang irresistible and culturally rich.
- Total Time: 1 hour 15 minutes + soaking
- Yield: 4 servings
Ingredients
– 2 cups rice, white rice for Terengganu style or purple glutinous rice for Kelantanese style, soaked in water for several hours
– 2 cups coconut milk, used for steaming the rice and for the curry
– 1 tablespoon fenugreek seeds
– 4 shallots, thinly sliced, divided for the rice and fried coconut
– 300 g tuna, or other fish such as mackerel, chicken, or prawns
– 2 stalks lemongrass, bruised
– 1 tablespoon ginger, chopped or minced
– 2 tablespoons chilli paste
– 1 teaspoon turmeric
– 1 cup shaved coconut
– 4 hard-boiled eggs, sliced
– 1 cucumber, thinly sliced for pickling
– 1 carrot, julienned for pickling
– 2 fresh chillies, sliced for pickling
– 1/2 cup rice vinegar
– 2 tablespoons sugar
– Optional sambal, to serve
– Optional herb-boiled eggs or spicy creamy gravy for regional variations
Instructions
1-Step 1: Soak the rice Rinse the rice well, then soak it in water for several hours. This softens the grains and helps the rice absorb the coconut milk during steaming. For purple glutinous rice, soak it a little longer if needed because the grains are denser than white rice.
2-Step 2: Start the first steaming stage Drain the soaked rice and place it in a steaming tray or heat-safe bowl. Mix it with part of the coconut milk, the sliced shallots, and the fenugreek seeds. Steam until the rice is half-cooked. This usually takes about 20 to 30 minutes, depending on the rice type and steamer.
3-Step 3: Add more coconut milk Remove the rice from the steamer and fluff it lightly. Add more coconut milk and mix gently so the grains stay separate. Return the rice to the steamer and cook again until the rice turns creamy and fully tender. The final texture should be moist, fragrant, and slightly sticky, not dry.
4-Step 4: Cook the fish curry While the rice finishes steaming, prepare the curry. Place the tuna or chosen protein in a pot with coconut milk, bruised lemongrass, ginger, chilli paste, and turmeric. Simmer over medium-low heat until the fish is cooked through and the sauce thickens slightly. Stir gently so the fish pieces stay intact. If you are using chicken or prawns, adjust the cooking time so the protein is fully cooked but still tender.
5-Step 5: Fry the shaved coconut Heat a dry pan over medium heat and add the shaved coconut with some sliced shallots. Stir often until the coconut turns golden brown and smells nutty. Watch closely because it can brown fast. This fried topping gives the dish one of its signature textures.
6-Step 6: Make the pickled vegetables Place the cucumber, carrots, and chilli in a bowl. Add rice vinegar and sugar, then toss everything together. Let the vegetables sit while you finish the rest of the recipe. The pickles do not need a long soak, but even a short rest helps the flavor settle.
7-Step 7: Prepare the eggs and optional garnishes Slice the hard-boiled eggs and set them aside. If you want a stronger finish, prepare sambal or use regional additions like herb-boiled eggs or a spicy creamy gravy. These extra items are not required, but they are useful when serving Nasi Dagang for guests or a festive meal.
8-Step 8: Assemble and serve Spoon the coconut rice onto plates, add the fish curry alongside or on top, then arrange the sliced eggs, pickled vegetables, and fried coconut around the rice. Serve hot so the curry and rice stay fragrant. The best Nasi Dagang plate has creamy rice, rich curry, a sharp pickle, and a crisp topping all in one serving.
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
💜 Opt for purple glutinous rice for traditional Kelantanese style or white rice for Terengganu authenticity.
🐟 Feel free to substitute tuna with mackerel, chicken, or prawns to suit your taste.
🥗 Add sambal or herb-boiled eggs for extra flavor and regional variations.
- Prep Time: 30 minutes
- Soaking Time: 6 hours
- Cook Time: 45 minutes
- Category: Breakfast
- Method: Steaming
- Cuisine: Malaysian
- Diet: Pescatarian
Nutrition
- Serving Size: 1 plate
- Calories: 700 kcal
- Sugar: 5g
- Sodium: 800mg
- Fat: 35g
- Saturated Fat: 25g
- Unsaturated Fat: 8g
- Trans Fat: 0g
- Carbohydrates: 70g
- Fiber: 4g
- Protein: 25g
- Cholesterol: 150mg




