Malaysia · Southeast Asia

Malaysian Dahl Recipe with Red Lentils and Curry Leaves

Updated November 3, 2026

Total time
55 min
prep 15 min · cook 40 min
Serves
4
portions as written
Cuisine
Malaysia
Southeast Asia

Jump to recipe

Malaysian Dahl Recipe with Red Lentils and Curry Leaves

Malaysian dahl is a gently spiced lentil curry often served with roti canai, rice or other breads at Malaysian mamak-style eateries and in home kitchens. This version cooks red lentils with tomato, coconut milk and warming spices, then finishes them with a sizzling curry-leaf and mustard-seed tempering; recipes vary, so the consistency and seasoning can be adjusted to taste.

Ingredients

  • 1 cup (200 g) split red lentils, also called masoor dal
  • 4 cups (950 ml) water, plus a little more if needed
  • 1 tablespoon (15 ml) neutral oil, such as canola oil
  • 1 medium yellow onion, about 1 cup finely chopped (150 g)
  • 2 cloves garlic, finely chopped (about 6 g)
  • 1 teaspoon finely grated fresh ginger (5 g)
  • 1 medium tomato, chopped (about 150 g)
  • 1 teaspoon ground turmeric (3 g)
  • 1 teaspoon ground coriander (2 g)
  • 1 teaspoon ground cumin (2 g)
  • ½ teaspoon mild chili powder (1 g), or less to taste
  • 1 teaspoon fine salt (6 g), divided, plus more to taste
  • ½ cup (120 ml) canned coconut milk, well stirred
  • 1 tablespoon (15 ml) neutral oil or ghee, for tempering
  • 1 teaspoon black mustard seeds (3 g)
  • 10 to 12 fresh curry leaves (about 2 g), rinsed and patted dry
  • 1 small dried red chile, broken in half (optional)
  • 1 tablespoon (15 ml) fresh lime juice, plus lime wedges to serve
  • 2 tablespoons chopped fresh cilantro (about 5 g), for serving

Instructions

  1. Put the lentils in a fine-mesh strainer and rinse under cool running water, stirring them with your fingers, until the water looks mostly clear. Drain well. Chop the onion and tomato, mince the garlic, and grate the ginger. This preparation takes about 15 minutes in total; having everything ready before heating the pan makes the tempering easier to manage.
  2. Warm 1 tablespoon of oil in a medium heavy saucepan over medium heat. Add the onion and cook for 7 minutes, stirring occasionally, until softened and translucent but not deeply browned. If the onion begins to catch, lower the heat and add a spoonful of water rather than letting it scorch.
  3. Stir in the garlic and ginger and cook for 1 minute, just until fragrant. Add the turmeric, coriander, cumin, chili powder and half the salt. Stir for about 20 seconds so the spices coat the onion. Add the tomato and cook for 2 minutes, stirring and pressing a few pieces against the pan until they begin to soften.
  4. Add the rinsed lentils and 4 cups (950 ml) water. Bring the mixture to a boil, then reduce the heat to low and partially cover the pan, leaving a gap for steam to escape. Simmer gently for 22 minutes, stirring every few minutes and scraping the bottom so lentils do not stick. The lentils should be very soft and starting to break down. If the pan looks dry before they soften, add water ¼ cup (60 ml) at a time.
  5. Stir in the coconut milk and remaining salt. Simmer uncovered for 3 minutes, stirring gently. The dahl should be thick but pourable; it will thicken more as it stands. For a smoother texture, mash some lentils against the side of the pan with the back of a spoon. Taste and adjust the salt or chili.
  6. While the lentils finish, make the tempering. In a small skillet, heat the remaining 1 tablespoon (15 ml) oil or ghee over medium heat. Add the mustard seeds and cover loosely with a lid or splatter screen; cook for about 30 seconds, until they begin to pop. Add the curry leaves and optional dried chile carefully, since damp leaves can spit in hot oil. Stir for another 30 to 45 seconds, until the leaves are crisp at the edges and fragrant. Do not let the spices or leaves turn black.
  7. Scrape the hot oil, seeds and curry leaves into the saucepan. Stir in the lime juice and simmer the dahl for 3 minutes so the flavors come together. Taste once more and add salt or a splash of water if needed. Serve hot with chopped cilantro and lime wedges.

Tips

  • Rinse, but do not soak. A thorough rinse removes loose surface starch and any dust. Split red lentils cook quickly without soaking, so a soak would add time without helping this recipe.
  • Keep the simmer gentle. A hard boil can make the bottom catch before the lentils are tender. Stir regularly, especially near the end, and add small splashes of water if the mixture gets thicker than you want.
  • Handle curry leaves sensibly. Fresh curry leaves give the finishing oil a distinctive citrusy, herbal aroma. If they are unavailable, use one bay leaf while the lentils simmer and leave it out before serving; this is only a stand-in and gives a different, less fragrant result. Dried curry leaves can be used if available, but their flavor is usually milder.
  • Adjust the finish, not just the chili. Coconut milk rounds out the spices, while lime brightens the lentils. If the dahl tastes flat, add salt first, then a little more lime; if it is too sharp, stir in a tablespoon or two of coconut milk.

Serving Suggestions

Serve the dahl in bowls while it is hot, with roti canai, chapati, paratha or another soft flatbread for scooping. Steamed white rice is an easy accompaniment and catches the sauce well; basmati or jasmine rice both work. For a fuller Malaysian-style spread, offer cucumber slices or a lightly dressed crunchy salad alongside, so there is something cool and crisp against the warm, soft lentils.

Put lime wedges, extra cilantro and sliced fresh chile on the table so each person can finish their portion to taste. If serving the dahl as part of a meal with several dishes, keep it slightly thicker so it holds in a serving bowl. For a rice bowl or a more soup-like supper, loosen it with hot water just before serving. The dahl is filling on its own, but a simple vegetable side such as sautéed greens or roasted cauliflower also fits without competing with the spice tempering.

Variations

For a richer version, replace a few tablespoons of the water with extra coconut milk, or use up to ¾ cup (180 ml) coconut milk in total. More coconut makes the curry creamier and mellows the spices, so taste for salt and lime afterward. To make it hotter, add another dried chile to the tempering or increase the chili powder slightly; add in small increments because chili powders vary in strength.

You can use yellow split lentils (moong dal) in place of red lentils, but cooking time and texture may vary by product. Follow the package guidance and add water as needed; the finished curry may be less smooth. For a more substantial bowl, fold in 1 cup (150 g) cooked vegetables, such as diced potato, carrot or cauliflower, during the last few minutes so they heat through. For a fully plant-based version, use oil instead of ghee, as written. These are practical adaptations rather than a claim that every Malaysian dahl is made the same way.

Storage and Reheating

Let leftovers cool briefly, then refrigerate them in a covered container within 2 hours of cooking. They keep for 3 to 4 days in the refrigerator. The lentils continue to absorb liquid as they sit, so expect the dahl to become thicker; loosen it with a splash of water when reheating. Reheat on the stovetop over medium-low heat, stirring often, or microwave in a covered microwave-safe bowl in short intervals, stirring between them. Reheat leftovers to 165°F (74°C), checking with a food thermometer, and avoid reheating the same portion repeatedly.

For longer storage, freeze the cooled dahl in airtight, freezer-safe containers for up to 3 months for best quality. Leave a little space at the top because the mixture can expand as it freezes. Thaw overnight in the refrigerator, then reheat thoroughly and add fresh lime or cilantro at the end to refresh the flavor. Do not leave cooked dahl at room temperature for more than 2 hours.

Frequently Asked Questions

What kind of lentils are best for Malaysian dahl?

Split red lentils, also sold as masoor dal, are a good choice for this version because they soften quickly and make a naturally creamy curry. Whole brown or green lentils hold their shape more and take longer to cook, so they will not give the same texture or timing. If using another type, follow its cooking time and add water as needed.

Can I make this dahl without coconut milk?

Yes. Leave it out and add ½ cup (120 ml) water or unsweetened vegetable stock instead. The result will be lighter and less creamy, but the lentils and tempering still provide plenty of flavor. Taste before serving, since coconut milk can soften the spices and you may want a touch more lime or salt without it.

Why is my dahl too thick or too thin?

Lentils thicken as they cook and continue absorbing liquid after cooking, and different pans lose different amounts of water to evaporation. If it is too thick, stir in hot water a little at a time until it pours easily. If it is too thin, simmer uncovered for a few more minutes, stirring frequently so it does not stick. The preferred consistency depends on whether you are serving it with bread or rice.

Can I prepare Malaysian dahl ahead?

Yes. It can be cooked a day ahead and refrigerated once cooled, then reheated thoroughly with a little water to restore its consistency. For the freshest aroma, you can prepare the lentil base ahead and make the curry-leaf tempering just before serving. If you make the entire dish in advance, a squeeze of lime and a handful of fresh cilantro after reheating help refresh it.

Is this recipe vegan and gluten-free?

It is vegan when made with oil rather than ghee, and the ingredients listed are naturally gluten-free. Check packaged spices and coconut milk labels if cross-contact is a concern, and choose gluten-free bread or rice for serving. Roti and many other flatbreads are made with wheat, so they are not gluten-free by default.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).