Sri Lankan Vegetarian Curry with Coconut Milk and Spices

Updated November 4, 2026

Total time
1 hr 2 min
prep 25 min · cook 37 min
Serves
4
portions as written

Jump to recipe

Sri Lankan Vegetarian Curry with Coconut Milk and Spices

Sri Lankan vegetarian curry is a warmly spiced, coconut-milk curry of vegetables and chickpeas, served with rice or roti. This stovetop version balances creamy coconut, curry leaves, mustard seeds, and a gentle chile warmth; ingredients and spice levels vary among Sri Lankan regions and households.

Ingredients

  • 1 tablespoon (15 ml) neutral oil, such as canola or sunflower oil
  • 1 teaspoon (2 g) black mustard seeds
  • 10 fresh curry leaves (about 2 g), or 1 teaspoon (1 g) dried curry leaves
  • 1 medium yellow onion (about 150 g), finely chopped
  • 3 garlic cloves (about 9 g), finely chopped or grated
  • 1 tablespoon (15 g) finely grated fresh ginger
  • 1 tablespoon (6 g) Sri Lankan roasted curry powder
  • ½ teaspoon (1 g) ground turmeric
  • ¼ teaspoon (0.5 g) cayenne pepper, or to taste
  • 1 teaspoon (6 g) fine salt, plus more to taste
  • 2 medium potatoes (about 350 g), peeled if desired and cut into 1-inch (2.5 cm) cubes
  • 2 medium carrots (about 180 g), cut into ½-inch (1.25 cm) half-moons
  • 1 can (13.5 oz / 400 ml) full-fat coconut milk, well shaken
  • 1 cup (240 ml) water
  • 2 cups (300 g) small cauliflower florets
  • 1 cup (125 g) green beans, trimmed and cut into 1½-inch (4 cm) pieces
  • 1 cup (165 g) cooked chickpeas, drained and rinsed if canned
  • 1 tablespoon (15 ml) fresh lime juice, plus lime wedges for serving
  • 2 tablespoons (8 g) chopped cilantro, optional

Instructions

  1. Prepare the vegetables before heating the pan: chop the onion, garlic, and ginger; cut the potatoes, carrots, cauliflower, and beans to the sizes listed. Shake the coconut milk can so the thick cream and thinner liquid combine. Keep the cauliflower, beans, and chickpeas separate from the potatoes and carrots, since they go into the curry later.
  2. Set a large, heavy saucepan or Dutch oven over medium heat and add the oil. When it is shimmering, add the mustard seeds and cover the pan loosely with a lid or splatter screen. Cook for about 30 seconds, just until the seeds begin popping. Add the curry leaves carefully; fresh leaves may spit when they hit the oil. Stir for another 1½ minutes, until fragrant. If using dried curry leaves, add them with the onion instead so they do not scorch.
  3. Add the chopped onion and cook for 7 minutes, stirring often, until softened and translucent but not deeply browned. Stir in the garlic and ginger and cook for 1 minute. Add the curry powder, turmeric, cayenne, and salt; stir for about 30 seconds to coat the aromatics. Keep the heat moderate. If the spices stick or look dry, stir in a spoonful of the measured water rather than letting them burn.
  4. Add the potatoes and carrots and stir for 3 minutes so the pieces are coated in the spiced onion mixture. Pour in the coconut milk and the remaining water, then stir and scrape the bottom of the pan. Bring the liquid just to a gentle simmer; avoid a hard boil, which can make coconut milk separate or splatter.
  5. Cover the pan, reduce the heat to low, and simmer the potatoes and carrots for 12 minutes. Stir once halfway through and check that the liquid is bubbling gently around the edges. If it is boiling vigorously, lower the heat. The potatoes should be starting to soften but will not yet be fully tender.
  6. Stir in the cauliflower, green beans, and chickpeas. Cover again and simmer gently for 10 minutes. Check a potato and a cauliflower floret with the tip of a knife: both should be tender, while the beans retain a little shape. If the vegetables need more time, cook in 2-minute increments. If the curry looks too thick before the vegetables are tender, add water 2 tablespoons (30 ml) at a time.
  7. Uncover and simmer for 2 minutes, stirring gently, to bring the sauce to a spoon-coating consistency. Turn off the heat and stir in the lime juice. Taste and adjust the salt, cayenne, or lime to suit your preference. Resting is not required; spoon into bowls and add cilantro if using.

Tips

  • Use gentle heat: Once the coconut milk is in the pan, aim for a quiet simmer rather than a rolling boil. A steady, low bubble helps the vegetables cook evenly and keeps the sauce creamy. Stir from the bottom now and then, especially if your pan is thin.
  • Choose the right curry powder: Sri Lankan roasted curry powder gives this dish a deeper, toastier flavor than many standard curry powders. If you cannot find it, use an equal amount of a mild Indian-style curry powder; the result will still be tasty but will have a different spice profile. Avoid adding extra turmeric to compensate, since it can make the sauce bitter.
  • Adjust the heat thoughtfully: Cayenne varies in strength, so start with ¼ teaspoon for a mild-to-medium curry and add more at the end if desired. For a hotter version, use a chopped fresh green chile with the garlic and ginger. If the curry becomes hotter than you want, add a little more coconut milk or serve it with plain rice.
  • Cut vegetables evenly: Keep the potato cubes close to 1 inch so they cook in the stated time. Large pieces may remain firm when the cauliflower is ready. If using dried chickpeas, cook them fully before adding them; the curry’s simmer is not long enough to soften dried beans.

Serving Suggestions

Serve the curry hot over steamed basmati or other long-grain rice, or alongside Sri Lankan red rice if available. Rice soaks up the coconut sauce, while a soft flatbread such as roti makes it easy to scoop up the chickpeas and vegetables. A small bowl of plain yogurt can be offered on the side for anyone who wants a cooling contrast; it is optional and not needed in the curry itself.

For a fuller meal, add a crisp cucumber salad dressed with lime and a pinch of salt, or serve a simple green salad with the curry. Keep side dishes lightly seasoned so they do not compete with the mustard, curry leaves, and roasted spices. Put extra lime wedges on the table: a squeeze just before eating brightens the coconut-rich sauce. If serving rice, prepare it separately so it does not absorb too much curry liquid in the pot.

Variations

Change the vegetables: Replace the cauliflower with 2 cups (250 g) diced pumpkin, butternut squash, or sweet potato. Add firm squash with the potatoes and carrots so it has enough time to soften. For quicker-cooking vegetables such as zucchini or peas, add them during the final 5 minutes instead of at the start of the second simmer. Keep the total vegetable amount close to the recipe so the sauce-to-vegetable balance remains pleasant.

Make it without chickpeas: Leave them out and add 1 cup (150 g) extra vegetables, or use 1 cup (150 g) cooked lentils. Lentils can soften and thicken the sauce more than chickpeas, so stir gently and add a splash of water if needed. For a richer version, stir in ½ cup (120 ml) extra coconut milk near the end and reduce the water by the same amount.

Make a milder, less rich curry: Omit the cayenne and use light coconut milk, knowing that the sauce will be thinner and less creamy. You can simmer it uncovered for a few extra minutes to reduce it, but do so gently to avoid scorching. Curry leaves are a distinctive aromatic ingredient; if unavailable, omit them rather than replacing them with bay leaves, which have a noticeably different flavor.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, in a covered shallow container. The curry keeps for 3–4 days in the refrigerator. Coconut milk may look slightly separated when cold; that is normal, and stirring while reheating usually brings the sauce back together. If storing rice too, keep it in a separate container and refrigerate it promptly.

Reheat only the portion you plan to eat in a saucepan over low to medium-low heat, stirring gently and adding a splash of water if the sauce has thickened. Heat leftovers to 165°F (74°C), checking the center with a food thermometer, as recommended for reheated leftovers. A microwave also works: cover loosely, heat in short intervals, and stir between intervals so the center heats evenly. Avoid repeatedly cooling and reheating the whole batch. For longer storage, freeze the curry in an airtight freezer-safe container for up to 2 months; thaw overnight in the refrigerator and reheat as above. Potatoes can become a little softer after freezing.

Frequently Asked Questions

Is Sri Lankan curry powder the same as regular curry powder?
Sri Lankan curry powders are blends, and roasted versions have a pronounced toasted aroma. Standard curry powder is a practical substitute, but blends differ, so the flavor will not be identical. Start with the listed amount and adjust after simmering rather than adding a large extra dose at the beginning.

Can I make this curry ahead?
Yes. Make it up to 2 days ahead and refrigerate it promptly. The flavors settle as it rests, and the sauce may thicken, so add a little water during reheating and taste again for salt and lime. For the firmest vegetables, cook them just until tender rather than very soft before chilling.

Can I use light coconut milk?
Yes. Light coconut milk makes a thinner, less rich sauce. You can reduce the water to ¾ cup (180 ml) to compensate, then add more only if the pan needs it during cooking. Avoid boiling the lighter sauce hard, since it can still separate and may reduce more quickly.

What can I use instead of fresh curry leaves?
Dried curry leaves are the closest convenient substitute, although their aroma is milder; use 1 teaspoon and add them with the onion. If neither is available, omit them. A little extra curry powder will add spice but will not reproduce the fresh, citrusy fragrance of curry leaves.

How can I tell when the vegetables are done?
A knife should slide into the center of a potato and carrot without much resistance, and the cauliflower should be tender but not falling apart. The green beans should still hold their shape. If the potatoes are firm, keep the pan covered and simmer in short increments, checking every 2 minutes.

Can I make the curry vegan and gluten-free?
The recipe as written is vegan and gluten-free when the curry powder and other packaged ingredients are labeled accordingly. Check the curry powder blend if you need to avoid gluten, since packaged spice mixes can vary. Serve with rice or a suitable flatbread, and skip the optional yogurt garnish.

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