Sri Lankan Bean Curry with Coconut Milk

Updated November 3, 2026

Total time
50 min
prep 15 min · cook 35 min
Serves
4
portions as written

Jump to recipe

Sri Lankan Bean Curry with Coconut Milk

Sri Lankan bean curry is a gently spiced green bean dish simmered with coconut milk, onion, curry leaves, and warming spices. It is served as a vegetable side with rice and other curries, and home versions vary in heat and seasoning; this version keeps the beans tender while leaving enough coconut sauce to spoon over a meal.

Ingredients

  • 1 lb fresh green beans (450 g), trimmed and cut into 1½-inch (4 cm) pieces
  • 1 medium yellow or red onion (about 5 oz / 150 g), thinly sliced
  • 2 garlic cloves (about 6 g), finely chopped
  • 1 tbsp finely chopped fresh ginger (6 g)
  • 1 small green chile (about 10 g), slit lengthwise; remove the seeds for less heat
  • 1 tbsp coconut oil or neutral oil (15 ml)
  • 1 tsp black mustard seeds (3 g)
  • ½ tsp cumin seeds (1 g)
  • ½ tsp ground turmeric (1.5 g)
  • ¼ tsp hot red chile powder (about 0.5 g), or less to taste
  • 10–12 fresh curry leaves (about 2 g), plus a few extra for serving if desired
  • 1 small cinnamon stick, about 1 inch (2.5 cm)
  • 1 cup full-fat coconut milk (240 ml), well stirred
  • ½ cup water (120 ml)
  • ¾ tsp fine salt (4 g), plus more to taste
  • 2 tsp fresh lime juice (10 ml)
  • 2 tbsp chopped cilantro (about 2 g), optional

Instructions

  1. Prepare the vegetables. Trim the ends of the beans and cut them into short, even pieces so they cook at the same rate. Slice the onion and chop the garlic and ginger. Slit the chile without cutting it in half; this lets it season the curry while making it easy to remove if you want a milder result. Open and stir the coconut milk until the thick cream and thinner liquid are blended. This preparation takes about 15 minutes.
  2. Warm the oil and bloom the whole spices. Set a medium, heavy-bottomed saucepan or deep skillet over medium heat. Add the oil and warm it for about 2 minutes. Add the mustard seeds and cumin seeds. Cook for about 1 minute, stirring or gently swirling the pan, until the mustard seeds begin to pop and the spices smell fragrant. Keep the heat moderate: smoking oil or blackened seeds will make the finished curry bitter. If the seeds start popping vigorously, move the pan off the heat briefly.
  3. Soften the aromatics. Add the onion, garlic, ginger, curry leaves, cinnamon stick, and slit chile. Stir and cook for about 5 minutes, until the onion is softened and glossy but not deeply browned. If the onion begins sticking, add a teaspoon of water rather than turning the heat very high. Stir in the turmeric and red chile powder for the final 20 seconds, just long enough to coat the onion and release their aroma.
  4. Coat the beans. Add the cut green beans and salt. Stir for about 2 minutes so the beans are coated in the spiced onion mixture. The beans may look bright and firm at this point; they will soften as they simmer. If using especially thick beans, cut them a little smaller so the centers cook before the coconut sauce reduces.
  5. Add the coconut milk and water. Pour in the coconut milk and water, then stir and scrape the bottom of the pan to loosen any spices. Bring the liquid to a gentle simmer over medium heat, which should take about 3 minutes. Avoid a hard boil: vigorous boiling can cause coconut milk to separate and leave an oily surface. Once small bubbles appear around the edge, lower the heat.
  6. Simmer until tender. Cover the pan and simmer gently for 17 minutes, stirring once halfway through. Check that the beans are tender but still hold their shape. For a softer, more traditional curry texture, cook them for a few extra minutes; for a firmer bite, begin checking a few minutes earlier. If the sauce looks unusually thick before the beans are ready, stir in water 1 tablespoon (15 ml) at a time.
  7. Finish the sauce. Remove the lid and simmer for about 5 minutes, stirring gently, until the sauce lightly coats the beans. Take out the cinnamon stick and, if preferred, the whole chile. Turn off the heat, stir in the lime juice, and taste. Add more salt or a little extra lime if the coconut tastes overly rich. Scatter with cilantro if using, and serve warm.

Tips

  • Use fresh curry leaves when possible. They give the dish a citrusy, herbal aroma that dried leaves cannot fully reproduce. If fresh leaves are unavailable, use ½ teaspoon dried curry leaves, or omit them and add a small bay leaf while simmering. A bay leaf gives a different, more woodsy flavor, so remove it before serving.
  • Choose the right coconut milk. Full-fat canned coconut milk gives a silky sauce and is more reliable than a carton beverage, which is usually much thinner. Stir the can thoroughly before measuring. If you only have light canned coconut milk, use it, but expect a lighter sauce and avoid reducing it too aggressively.
  • Control the heat gradually. Green chiles vary considerably. Leave the chile whole or remove its seeds for a gentler curry, and start with less red chile powder if you are unsure. You can add a pinch near the end, but it is harder to correct a curry that has become too hot.
  • Keep the simmer gentle. A hard boil can split coconut milk, and frequent vigorous stirring can break the beans. Use a low, steady simmer and stir once or twice with a broad spoon. If the sauce separates slightly, lower the heat and stir in a tablespoon of warm water; it may become more cohesive, though the texture can remain a little less smooth.

Serving Suggestions

Serve the curry hot with steamed white rice, red rice, or brown rice, using the coconut sauce to season each spoonful. It also fits naturally into a Sri Lankan-style rice-and-curry meal alongside lentil dhal, a dry vegetable preparation, and a sharp sambol or pickle. These are serving ideas rather than requirements; the bean curry is satisfying as a simple side with plain rice on its own.

For a fuller plate, pair it with roti, string hoppers, or another flatbread for catching the sauce. Add a fresh salad or sliced cucumber if you want a crisp contrast to the warm, soft beans. Because the curry is creamy and mild to medium in heat, a tangy condiment such as lime pickle can balance it; offer it separately so each person can adjust the sharpness. If serving several dishes, keep the curry covered until close to mealtime so the beans stay warm without the sauce reducing further.

Variations

Make it hotter: Add a second small green chile or increase the red chile powder a little at a time. For a rounded heat, add the chile powder with the turmeric rather than sprinkling a large amount into the finished sauce.

Use another vegetable: Long beans can replace green beans in the same quantity and are common in South Asian cooking; cut them into similar lengths and check for tenderness as they simmer. Carrots or cauliflower can also be used, though they have different cooking times and may need to be cut smaller or simmered longer. For a mixed-vegetable curry, add firmer vegetables first and tender ones later.

Make it without curry leaves: Curry leaves are a distinctive ingredient, but the curry still works if you cannot find them. A small bay leaf is a practical substitute, although it changes the aroma rather than reproducing the original flavor. A little extra lime at the end can brighten the dish, but it does not replace the herbal note.

Adjust the sauce: For a richer curry, replace 2 tablespoons (30 ml) of the water with additional coconut milk. For a lighter one, use ¾ cup (180 ml) coconut milk and ¾ cup (180 ml) water. Keep enough liquid to let the beans cook gently, and reduce the uncovered simmer if the sauce is already thick.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours in a covered, shallow container. The curry keeps for 3–4 days in the refrigerator. The coconut sauce may firm up when cold or separate slightly after storage; that is normal, and gentle reheating with a splash of water helps bring it back together. Store rice separately when possible so it does not absorb all the curry sauce.

Reheat only the portion you plan to eat in a small saucepan over low to medium-low heat, stirring occasionally and adding water 1 tablespoon (15 ml) at a time until the sauce is loose again. Alternatively, microwave it in a covered, microwave-safe dish, stirring halfway through. Reheat leftovers to 165°F (74°C), checking with a food thermometer, and avoid repeated cooling and reheating. For longer storage, freeze the curry in a sealed container for up to 2 months for best quality. Thaw overnight in the refrigerator and reheat gently; the beans may be softer and the coconut sauce may need extra stirring after thawing.

Frequently Asked Questions

Can I make Sri Lankan bean curry with frozen green beans?

Yes. Frozen green beans are a convenient substitute, and there is no need to thaw them first. Add them after the aromatics and simmer until hot and tender, checking earlier than you would with fresh beans because many frozen beans are blanched before freezing. They may release more water and have a softer texture, so use slightly less water at first and add more only if the sauce becomes too thick.

How do I know when the beans are done?

Test a piece with a fork or taste one after the covered simmer. It should be easy to bite through, with no hard, raw center, while still holding its shape. If you prefer very soft beans, continue simmering in 2-minute increments. If the beans are still firm but the sauce is getting thick, add a small splash of water, cover the pan again, and continue cooking gently.

Why did my coconut milk split?

Coconut milk can separate when it boils hard, especially as the sauce reduces. It is usually still fine to eat, although it may look less creamy. Lower the heat, stir gently, and add a tablespoon or two of warm water. Next time, bring the sauce only to a gentle simmer and uncover it near the end to reduce it slowly.

Can I prepare the curry ahead?

Yes. You can cook it a day ahead, cool it promptly, and refrigerate it covered. The flavors mingle as it sits, while the beans soften a little more, so stop cooking them when they are just tender if you know you will reheat the curry later. Reheat gently with a splash of water and bring the leftovers to 165°F (74°C) before serving.

Is this curry vegan and gluten-free?

The ingredients listed make a vegan curry, provided the coconut milk and spices contain no unexpected additions. The recipe is also naturally gluten-free when the spices are pure and not blended with a gluten-containing ingredient. Check package labels if you are cooking for someone who needs to avoid gluten, and serve it with rice or another suitable accompaniment.

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