Authentic Sri Lankan Dahl Curry with Coconut Milk

Updated November 3, 2026

Total time
47 min
prep 15 min · cook 32 min
Serves
4
portions as written

Jump to recipe

Authentic Sri Lankan Dahl Curry with Coconut Milk

Sri Lankan dahl curry, often called parippu, is a gently spiced red lentil curry cooked with coconut milk and finished with a fragrant tempering of onion, mustard seeds, and curry leaves. It is served as part of a rice-and-curry meal or with bread, and this version balances creamy lentils with bright aromatics and adjustable chili heat. Household recipes vary across Sri Lanka, so this is a classic, practical approach rather than the only authentic one.

Red lentils are a good fit because they soften quickly and thicken the coconut milk into a smooth, spoonable curry. The seasoning is layered: turmeric and chili cook with the lentils, while the final tempering adds toasted, savory notes just before serving.

Ingredients

  • 1 cup (200 g) split red lentils, also called masoor dal
  • 2 cups (475 ml) water, plus a little more if needed
  • 1 cup (240 ml) full-fat coconut milk, well stirred
  • ½ medium yellow or red onion, finely chopped (about ½ cup / 75 g), divided
  • 2 garlic cloves, finely chopped (about 6 g)
  • 1 green chili, slit lengthwise (about 10 g); use a mild chili for less heat
  • ½ teaspoon (1 g) ground turmeric
  • ½ teaspoon (1 g) fine salt to start, plus more to taste
  • 1 small piece pandan leaf, about 3 inches (7.5 cm), optional
  • 10 fresh curry leaves (about 2 g), divided; see the substitution note below if unavailable
  • 1 tablespoon (15 ml) neutral oil or coconut oil
  • ½ teaspoon (2 g) black mustard seeds
  • ½ teaspoon (1 g) cumin seeds
  • 1 dried red chili, broken in half (about 1 g), optional
  • ¼ teaspoon (0.5 g) ground black pepper, or to taste
  • 1 teaspoon (5 ml) fresh lime juice, optional, to finish

Instructions

  1. Rinse the lentils. Put the red lentils in a bowl, cover them with cool water, and swish them around with your fingers. Drain and repeat two or three times, until the water is less cloudy. Drain well. Red lentils do not need soaking for this recipe; rinsing removes loose starch and any dust.
  2. Start the curry base. Add the lentils, measured water, turmeric, salt, half of the chopped onion, garlic, green chili, pandan leaf if using, and 5 curry leaves to a medium saucepan. Set over medium-high heat and bring to a gentle boil, which should take about 2 minutes. Stir once or twice as it heats so lentils do not settle and catch on the bottom.
  3. Simmer until soft. Lower the heat to maintain a steady, gentle simmer and cook uncovered for 20 minutes, stirring every few minutes. The lentils should break down easily when pressed with a spoon. If the pan looks dry before they are tender, add water a few tablespoons at a time; if it is very soupy, let it simmer briefly before adding coconut milk. Remove the pandan leaf if you can find it.
  4. Add the coconut milk. Stir in the coconut milk and black pepper. Simmer gently for 5 minutes, stirring often. Avoid a hard boil, which can make coconut milk look separated and can cause the lentils to stick. The curry should be creamy and loose enough to ladle; it will thicken as it stands. Taste and add salt if needed.
  5. Make the tempering. While the curry simmers, heat the oil in a small skillet over medium heat. Add the mustard seeds and cover loosely with a lid or splatter screen; cook until they begin popping, about 30 seconds. Add the cumin seeds and dried red chili, if using, and cook for about 20 seconds, just until fragrant.
  6. Finish the aromatics. Add the remaining onion and curry leaves to the skillet. Fry for 3 to 4 minutes, stirring, until the onion is soft and its edges are lightly golden. Keep the heat moderate: dark, bitter spices will overpower the mellow lentils. Pour the hot onion-and-spice mixture, including the oil, into the saucepan and stir gently to distribute it.
  7. Adjust and serve. Let the curry rest for 2 minutes, then check the texture and seasoning. Stir in a splash of hot water if it has become too thick, or add the optional lime juice for a subtle lift. Serve hot.

Tips

  • Use split red lentils. They are sometimes labeled masoor dal or red split lentils. Whole brown or green lentils need a longer cooking time and keep their shape, so they will not produce the same soft, creamy result; if using them, follow their package timing and expect a different texture.
  • Keep the simmer gentle. A vigorous boil can make lentils foam over, stick to the pan, or turn the coconut milk grainy. Use a heavy-bottomed saucepan if available, stir regularly, and lower the heat as soon as the water begins bubbling.
  • Handle curry leaves and pandan thoughtfully. Fresh curry leaves give the tempering its characteristic citrusy, herbal aroma. If you cannot find them, omit them rather than relying on curry powder, which is not a close substitute. Pandan is also optional; leaving it out makes the curry less fragrant but still delicious.
  • Season in stages. Salt the lentils at the start, then taste again after the coconut milk and tempering are added. Coconut milk softens the perception of spice, so adjust with a little more chili or pepper at the end if you prefer a livelier curry.

Serving Suggestions

For a Sri Lankan-style meal, spoon the dahl beside steamed rice and serve it with one or two contrasting sides, such as a vegetable curry, sautéed greens, or a crunchy sambol. The lentils are mild and creamy, so they pair especially well with something tangy, crisp, or more strongly spiced. A wedge of lime at the table lets each person add brightness to taste.

This curry is also good with roti, paratha, or another flatbread for scooping. Keep the dahl slightly thicker for bread, or loosen it with hot water when serving over rice so it spreads easily across the plate. If serving a group, place the dried-chili tempering on top and offer extra sliced fresh chili separately, making it easier to accommodate different heat preferences.

Variations

Make it milder or hotter: Leave out the green chili and dried red chili for a gentle version, or add a pinch of chili powder with the turmeric. Fresh green chili varies in heat, so taste a small piece before deciding how much to use. The curry should still taste aromatic and savory, not simply hot.

Adjust the coconut: Full-fat coconut milk gives the most rounded, creamy texture. For a lighter curry, replace up to half of it with water; the result will be thinner and less rich. If using canned coconut milk, stir it thoroughly before measuring because the cream can separate in the can.

Use a different aromatic: If you have no pandan, simply omit it. A small piece of cinnamon can add a warm note, though it changes the flavor slightly and should be removed before serving. Avoid adding several strong substitutes at once, since the lentils are meant to remain the center of the dish.

Make it thicker or looser: For a very smooth curry, mash some of the cooked lentils against the side of the pot with a spoon. For a more distinct, pourable texture, stir in hot water a little at a time. Both consistencies are useful: thicker dahl works as a dip with roti, while a looser one can be spooned over rice.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, in a covered container. The curry keeps for 3 to 4 days in the refrigerator. It thickens as it chills, so do not judge its final texture by how firm it looks straight from the fridge. For longer storage, freeze in meal-sized portions for up to 2 months for best quality, then thaw overnight in the refrigerator.

Reheat gently in a saucepan over low to medium-low heat, stirring frequently and adding water a tablespoon or two at a time until the curry is creamy again. You can also microwave a covered, microwave-safe portion in short intervals, stirring between them. Reheat leftovers to 165°F (74°C), as measured with a food thermometer, and avoid repeatedly cooling and reheating the same batch. If the curry smells off or has been left at room temperature for more than 2 hours, discard it.

Frequently Asked Questions

Do I need to soak red lentils first?
No. Split red lentils cook quickly and soften during the 20-minute simmer in this recipe. Rinsing them is enough. Soaking can make them cook faster and may leave you with a thicker, more broken-down curry, so it is not necessary here.

Can I use light coconut milk?
Yes. Light coconut milk works, but the curry will be thinner and less rich. You can use it as a direct replacement, then simmer gently until the consistency suits you. Avoid boiling it vigorously, and taste for salt after it has warmed through.

What if I cannot find curry leaves?
Leave them out rather than substituting curry powder. Curry leaves have a fresh, aromatic quality that powdered spice blends do not reproduce. The dish will still be a satisfying coconut lentil curry, though it will lack some of the distinctive fragrance of a version made with fresh leaves.

Why is my dahl too thick?
Red lentils continue absorbing liquid as they rest, and the curry firms further when chilled. Stir in hot water a little at a time until it is as loose as you like, then taste and adjust the salt. Next time, you can also reserve a little water to add at the end rather than cooking the lentils with less liquid.

Can I make this curry ahead?
Yes. Make it up to 3 days ahead and refrigerate it promptly; the flavors meld as it sits, while the texture becomes thicker. Reheat gently with a splash of water and stir well. For the freshest aroma, prepare the onion-and-spice tempering shortly before serving, or reheat it along with the curry.

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