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