This Malaysian-style curry sauce is a creamy, gently spiced lentil gravy made with coconut milk, potato, aromatics, and curry leaves, served warm for dipping pieces of roti canai. Malaysian roti curries vary between households and stalls; this vegetarian version takes inspiration from dhal-style gravies and is thick enough to cling to torn roti while still easy to scoop.
Ingredients
- 1 tablespoon neutral oil (15 ml), such as canola or sunflower oil
- 1 teaspoon black or brown mustard seeds (3 g)
- ½ teaspoon cumin seeds (1 g)
- 10 to 12 fresh curry leaves (about 2 g), plus a few extra for garnish if desired
- 1 medium yellow onion (about 150 g), finely chopped
- 3 garlic cloves (about 9 g), finely chopped or grated
- 1 tablespoon finely grated fresh ginger (about 15 g)
- 2 tablespoons Malaysian curry powder (about 16 g)
- 1 teaspoon ground turmeric (3 g)
- 1 tablespoon tomato paste (16 g)
- ½ cup dried split red lentils (100 g), rinsed and drained
- 1 medium potato (about 200 g), peeled if desired and cut into ½-inch (1 cm) cubes
- 3 cups vegetable stock (720 ml), preferably unsalted or low-sodium
- 1 can full-fat coconut milk, 13.5 ounces (400 ml), shaken before opening
- 1 teaspoon fine salt (5 g), or to taste
- 1 teaspoon brown sugar (4 g), optional, to round out the spices
- 1 tablespoon lime juice (15 ml), plus lime wedges for serving if desired
- ½ cup water (120 ml), as needed to thin the sauce
Instructions
- Prepare the ingredients. Rinse the red lentils in a fine-mesh strainer until the water runs mostly clear, then drain well. Chop the onion, garlic, and potato, and grate the ginger. Keep the curry powder and turmeric measured beside the stove because they go into the pan quickly. This preparation takes about 20 minutes; cutting the potato into small, even cubes helps it soften on schedule.
- Start the aromatic base. Set a medium, heavy-bottomed saucepan or deep skillet over medium heat and add the oil. When it shimmers, add the mustard seeds and cumin seeds. Cook for about 30 seconds, just until the mustard seeds begin to pop, then stir in the curry leaves. They may crackle briefly, so keep your face and hands back from the pan. Add the onion and cook for about 4 minutes, stirring often, until softened and translucent rather than deeply browned. Add the garlic and ginger and cook for 1 minute. This first cooking stage takes about 6 minutes.
- Bloom the ground spices. Add the curry powder, turmeric, and tomato paste. Stir constantly for 2 minutes, scraping the base of the pan so the paste does not scorch. The mixture should smell fragrant and look evenly coated, not dry or burned. If it starts sticking before the two minutes are up, splash in a spoonful of the measured stock. Toasting the spices briefly in oil develops their aroma; prolonged high heat can make them bitter.
- Simmer the lentils and potato. Stir in the drained lentils, diced potato, vegetable stock, and salt. Bring the mixture just to a boil, then lower the heat to maintain a steady, gentle simmer. Partly cover the pan, leaving a small gap for steam to escape, and cook for 22 minutes. Stir every few minutes, especially along the bottom and corners. The lentils should be very soft and beginning to break down, and a knife should slide easily into a potato cube. If the bottom looks dry or the sauce becomes thicker than you want before the potato is tender, add a little of the listed water.
- Add coconut milk and finish the sauce. Pour in the coconut milk and add the brown sugar, if using. Stir well and simmer uncovered for 8 minutes, stirring occasionally, until the sauce is smooth, creamy, and lightly thickened. Keep it at a gentle bubble rather than a hard boil, which can cause splattering and may make the coconut milk look separated. Taste and adjust the salt. Stir in the lime juice, then loosen the sauce with more of the measured water if it is too thick for dipping. For an especially smooth gravy, blend briefly with an immersion blender; leave some potato and lentil texture if you prefer a more rustic sauce. Serve hot.
Tips
- Choose the right curry powder. Malaysian curry powder can be found in some South Asian or Southeast Asian grocery shops. If it is unavailable, use a mild Madras-style curry powder; it will still make a good sauce, though the exact balance of spices and heat will differ. Check the label before adding extra chili, since some blends are already hot.
- Look for fresh curry leaves, but do not confuse them with curry powder. Fresh leaves contribute a distinct citrusy, herbal aroma. If you cannot find them, leave them out or use one small bay leaf for a more subtle, less citrusy background note. Dried curry leaves are less fragrant, so use a few and expect a gentler flavor.
- Keep the simmer gentle. A vigorous boil can make lentils stick to the pan and coconut milk splatter. Use a heavy saucepan if possible, stir the bottom regularly, and lower the heat as soon as the mixture reaches a simmer. The sauce thickens as it stands, so judge the final consistency after a minute off the heat.
- Adjust thickness at the end. For roti dipping, aim for a sauce that coats a spoon but still runs off it. Add water a tablespoon at a time if it is too thick, or simmer uncovered for a few extra minutes if it is thin. Avoid adding a large amount of water all at once, which can flatten the flavor.
Serving Suggestions
Serve the curry in a warm bowl with roti canai, roti paratha, or another flaky flatbread for tearing and dipping. If you are serving packaged frozen roti, cook it according to its package directions and bring it to the table hot so its crisp edges contrast with the soft sauce. For a fuller meal, offer rice alongside the roti, plus sliced cucumber, tomato, or a simple crunchy salad to balance the rich coconut gravy. Lime wedges let everyone add a brighter, sharper finish at the table.
The recipe makes four generous dipping portions or four smaller servings when paired with other dishes. Set out spoons for the sauce rather than asking guests to dip a shared piece of bread directly into the cooking pot. A little extra water stirred in just before serving can restore a pourable texture if the sauce has thickened while you prepared the rest of the meal.
Variations
For a spicier gravy, add one finely chopped bird’s-eye chili with the garlic and ginger, or stir in a pinch of cayenne with the ground spices. Start conservatively: chili strength varies, and the heat becomes more noticeable as the sauce simmers. For a milder version, choose a mild curry powder and omit fresh chili; the aromatic spices will still give the sauce plenty of character.
To make the sauce richer, use the full-fat coconut milk listed here. Light coconut milk works, but produces a thinner, less creamy result; simmer it a little longer or blend a portion of the lentils to give the gravy body. You can also replace up to 1 cup (240 ml) of the vegetable stock with water if your stock is strongly flavored. For a more substantial curry, fold in 1 cup (165 g) of drained cooked chickpeas during the final 8-minute coconut-milk simmer. They add a mild, firm bite without changing the basic method.
If you prefer a completely smooth dipping sauce, remove the bay leaf if you used one, then blend the finished curry carefully until even. For a chunkier bowl, mash only a few potato pieces against the side of the pan and leave the rest intact. These texture choices are practical adaptations, not separate rules for Malaysian curry; home and regional versions differ in their spices, thickness, and choice of lentils.
Storage and Reheating
Cool the sauce promptly and refrigerate it within 2 hours of cooking in a covered, shallow container. It keeps for 3 to 4 days in the refrigerator. The lentils continue to absorb liquid as the sauce sits, so it will usually be thicker the next day; stir in a splash of water or coconut milk while reheating to bring it back to a dipping consistency.
Reheat only the portion you plan to serve in a saucepan over medium-low heat, stirring often until it is steaming throughout. For food safety, USDA FSIS guidance is to reheat leftovers to 165°F (74°C); check the center with a food thermometer. Avoid a hard boil, which can make the sauce splatter. You can also microwave a portion in a covered microwave-safe bowl, stirring at intervals and checking the temperature in more than one spot. Freeze leftover sauce in a labeled, airtight container for up to 2 to 3 months for best quality. Thaw it in the refrigerator before reheating; the texture may look slightly separated at first, but steady stirring usually brings it together.
Frequently Asked Questions
Is this the same curry served with roti canai?
It is a roti-friendly Malaysian-style curry sauce, inspired by the dhal gravies often served for dipping, but roti canai accompaniments vary. Some versions are based on lentils, while others include chicken, fish, vegetables, or different spice blends. This recipe is a meat-free option with red lentils, potato, and coconut milk.
Can I make the curry sauce without coconut milk?
Yes. Replace the coconut milk with 1½ cups (360 ml) additional vegetable stock and simmer until the sauce reaches the thickness you like. It will taste less rich and will not have coconut’s gentle sweetness, so taste near the end and adjust the lime, salt, and optional sugar. You can blend part of the lentils to keep the sauce creamy without dairy or coconut.
Can I use green or brown lentils instead of red lentils?
Red split lentils are the best fit because they soften quickly and break down into a thick gravy. Whole green or brown lentils hold their shape and take longer to cook, so the potato may become tender before the lentils do. If using them, cook the lentils separately until tender and add them with the coconut milk; the finished sauce will be less smooth and more textured.
Why did my curry sauce turn out too thick?
Red lentils absorb liquid as they cook and continue thickening as the sauce cools. Stir in warm water a tablespoon or two at a time until it is easy to scoop with roti. If the sauce is already on the table, thin just the portion you are serving so the rest can be stored at its thicker consistency.
Can I prepare this sauce ahead of time?
Yes. Make it up to 3 days ahead and keep it refrigerated in a covered container, following the storage guidance above. Reheat it gently to 165°F (74°C), stirring in water if needed, and add a small squeeze of fresh lime after reheating if the flavor needs brightening. Cook or warm the roti close to serving time for the best contrast in texture.
Related
- Malaysian Curry Paste Recipe for Deep, Fragrant Curries
- Malaysian Vegetable Curry with Coconut Milk
- Authentic Malaysian Recipes: Nasi Lemak with Coconut Rice and Sambal
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).