Main Courses
This Sri Lankan bean curry recipe delivers the rich, spiced coconut depth that makes Sri Lankan cuisine unforgettable. The secret lies in slow-simmered beans bathed in a fragrant blend of turmeric, mustard seeds, and curry leaves—each ingredient playing its part in creating a dish that’s both comforting and vibrant.
I developed this version after years of perfecting the balance between earthy spices and creamy coconut milk, ensuring every bite is tender and aromatic.
The foundation of this curry begins with a tempering of mustard seeds, dried chilies, and curry leaves in coconut oil, which infuses the dish with an irresistible aroma. Beans like black-eyed peas or kidney beans absorb the flavors beautifully, becoming tender yet holding their shape.
The addition of fresh coconut milk and a touch of tamarind brightens the sauce, creating a harmonious blend of sweet, tangy, and spicy notes that define Sri Lankan cooking.
What you’ll end up with is a tender, fragrant curry that’s rich enough to stand alone but pairs perfectly with steamed rice or flaky roti.
The spices are balanced to be bold yet approachable, making it a dish that’s as satisfying for a weeknight dinner as it is for a special occasion. The slow simmer ensures the beans are perfectly cooked, while the coconut milk keeps the sauce velvety and full of flavor.
This recipe is vegetarian-friendly and packed with plant-based protein, making it a hearty and nutritious choice. Serve it with a side of pickled onions or a simple cucumber salad to cut through the richness.
The leftovers reheat beautifully, so it’s perfect for meal prep or feeding a crowd. Let’s bring the flavors of Sri Lanka to your kitchen.
Ingredients for bean curry recipe sri lanka
Here's what brings Sri Lankan spice and coconut richness to your beans—simple but bold ingredients.
| Ingredient | Amount | Notes |
|---|---|---|
| Black-Eyed Peas 🌱 | 1 ½ cups | Dried, soaked overnight |
| Fresh Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Yellow Onion 🧅 | 1 whole | Medium, finely chopped |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Fresh Ginger 🌿 | 2 tbsp | Grated, peeled |
| Curry Leaves 🍃 | ¼ cup | Fresh, packed |
| Mustard Seeds 🌶️ | 1 tbsp | Yellow, whole |
| Dried Red Chilies 🔥 | 2 whole | Kashmiri or bird's eye |
| Ground Turmeric 🧂 | 1 tsp | Freshly ground preferred |
| Ground Cumin 🌿 | 1 tbsp | Toasted for depth |
| Ground Coriander 🌶️ | 1 tbsp | Freshly ground |
| Tamarind Paste 🍋 | 1 tbsp | Adjust for tanginess |
| Coconut Oil 🫒 | 2 tbsp | Unrefined for flavor |
| Salt 🧂 | 1 tsp | Adjust to taste |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
The coconut milk is non-negotiable here—full-fat canned is best (none of that skim stuff). Thai Kitchen or Aroy-D are my go-tos at the grocery store. For curry leaves, Indian grocery stores carry them fresh, but if you can't find them, skip them—they're just for aroma. Ginger and garlic? Fresh only—dried just won't cut it. The mustard seeds should pop when toasted, so keep them on low heat until they dance. Black-eyed peas are the star—dried and soaked overnight for perfect texture, but canned in a pinch (just drain well).
No tamarind paste? Lemon juice at half the amount works, though it's not quite the same. Ran out of Kashmiri chilies? Bird's eye or cayenne at a quarter teaspoon brings the heat. The coconut oil matters too—unrefined, virgin has that nutty flavor that makes everything sing. For the spices, Penzeys or bulk bins are where I shop, but regular grocery store jars work fine if they're fresh. Want more depth? Add a pinch of fenugreek leaves if you've got them.
This curry tastes even better the next day—3-4 days in the fridge, 3 months frozen. I always make double batches because it's perfect for lunches. Store in airtight containers, and if freezing, add a splash of water before sealing to prevent drying. Garnish with fresh cilantro right before serving—none of that dried stuff on top. Serve with rice or roti, and you've got a restaurant-quality meal.
Why You'll Love This Recipe
- Pantry to Plate Fast: I swear, this curry comes together while you’re still deciding whether to watch one more episode. Sauté onions, garlic, and ginger—boom—then toss in the black-eyed peas and coconut milk. Thirty minutes tops, and you’ve got a dish that tastes like it simmered all day.
- Coconut-Ginger Magic: That first spoonful of creamy coconut milk with the sharp kick of fresh ginger? It’s the kind of flavor that makes you pause mid-bite. The black-eyed peas soak up the richness, turning into tender, satisfying bites that somehow feel both rustic and luxurious.
- Leftover Goldmine: Between us, this curry only gets better the next day. The flavors meld into something deeper, richer—ideal for packing lunches or reheating for dinner. Honestly, I’ve made it three times in a row just because the leftovers were that good.
- Budget-Friendly Feast: Fresh coconut milk and black-eyed peas stretch into a full meal without breaking the bank. It’s the kind of dish where you’re feeding a crowd but still have leftovers for breakfast. My college budget would’ve cried happy tears over this.
Step-by-step instructions for Sri Lankan bean curry
Here's how to make this fragrant, coconut-rich curry with perfectly tender black-eyed peas.
Prepare the Spice Base
Heat the 2 tablespoons coconut oil in a heavy-bottomed pot over medium heat. Add the 1 tablespoon mustard seeds and let them sizzle for 30 seconds until they begin to pop. This is your signal to add the 2 whole dried red chilies and 0.25 cup curry leaves—they'll release their aromatic oils into the oil.
Next, add the 1 whole yellow onion and cook for 5-6 minutes until softened and golden. Stir occasionally so it doesn't stick. The onions should caramelize slightly, deepening the flavor. Here's the thing—don't rush this step. The onions need time to develop that sweet, jammy quality that forms the foundation of the curry.
Add Aromatics and Spices
Push the onions to one side of the pot and add the 6 cloves minced garlic and 2 tablespoons grated ginger to the empty space. Sauté for 1-2 minutes until fragrant—you'll smell that pungent garlic-ginger aroma. Then add the 1 teaspoon ground turmeric, 1 tablespoon ground cumin, and 1 tablespoon ground coriander. Stir everything together for 30 seconds to toast the spices lightly.
This is where the magic happens. The spices should bloom and fill your kitchen with their warm, earthy scent. If you're using freshly ground spices, you'll notice even more depth of flavor. Once the spices are fragrant, add the 1 tablespoon tamarind paste and 1 teaspoon salt, stirring to combine. The tamarind will add that signature tangy brightness that balances the richness of the coconut.
Cook the Beans
Add the 1.5 cups soaked black-eyed peas to the pot along with 1 cup water. Bring everything to a gentle boil, then reduce heat to low and let it simmer uncovered for 20 minutes. Stir occasionally to prevent sticking. You want the beans to soften but not break apart—they should still have some bite to them.
Here's the key: if the beans aren't tender after 20 minutes, add another ½ cup water and continue cooking. The beans should be fork-tender but still hold their shape. If they start to break down too much, you've gone too far. The goal is tender but intact beans that'll soak up all that delicious coconut sauce.
Finish with Coconut Milk
Pour in the 1 can fresh coconut milk and stir gently to combine. Increase heat to medium-low and let it simmer for 15-20 minutes, stirring occasionally. The sauce should thicken slightly as it reduces, coating the beans in a rich, creamy layer. You'll see the curry develop a beautiful golden color as the coconut milk caramelizes.
Taste and adjust seasoning—you might need a bit more salt or a touch of tamarind for balance. The curry should be flavorful but not overwhelming. When the beans are completely tender and the sauce has thickened to your liking, it's ready. The curry should coat the back of a spoon with a velvety texture—this is what makes Sri Lankan curries so special.
Garnish and Serve
Remove the pot from heat and let it sit for 5 minutes to allow the flavors to meld. Then stir in the 0.25 cup chopped fresh cilantro. The cilantro adds a bright, fresh finish that cuts through the richness of the coconut. Serve the curry hot with steamed rice or crusty bread—each bite should deliver tender beans in a fragrant, spiced coconut sauce.
This curry keeps well in the refrigerator for up to 3 days, and the flavors actually improve as it sits. The beans will absorb even more of that rich coconut goodness over time. If you have leftovers, reheat gently on the stove with a splash of water to restore the creamy texture.
Pro Tips For Making Bean Curry Recipe Sri Lanka
- SOAK BEANS 4 HOURS: Black-eyed peas absorb flavors better when hydrated—skip this and they’ll turn mushy or bland. Use twice the water they’d need to cook, then drain before adding to the pot. (Yes, even if you’re impatient like me.)
- FRIED ONIONS FIRST: Cook the onions until they’re golden brown and slightly crispy before adding anything else. This builds depth—raw onions just stew into a sad, watery base. Use medium-high heat and stir often.
- BLANCH GINGER-GARLIC: Sauté the ginger and garlic in coconut oil for 2-3 minutes until fragrant but not browned. This stops them from turning bitter later. (I learned this the hard way after a batch tasted like medicine.)
- SIMMER LOW AND LONG: After adding coconut milk and beans, reduce to the lowest heat that keeps a gentle bubble. Too hot and the curry breaks; too low and it never thickens. Give it 45 minutes—patience pays off here.
Pro cooking tips for bean curry recipe sri lanka
Spice Bloom Mastery
Toast your mustard seeds over medium-low heat until they pop—this takes about 30 seconds. If they burn, you’ve gone too far, and the flavor will turn bitter. I use a heavy-bottomed pot (like Calphalon) to distribute heat evenly.
The moment they start popping, add the dried chilies and curry leaves—this releases their essential oils instantly. 🌶️
Pro tip: If you’re using whole spices (like cumin seeds), toast them separately in a dry pan for 1 minute before grinding. Freshly toasted spices add a depth that jarred spices can’t match. The aroma alone tells you it’s working—your kitchen should smell like a Sri Lankan street stall!
Onion Caramelization
Don’t rush the onions! Cook them for 5-6 minutes until they’re golden and jammy. I like to use yellow onions because they caramelize better than white. If they stick, add a splash of water and scrape with a wooden spoon.
The goal is to develop that sweet, almost syrupy texture that forms the base of the curry. 🧅
For extra depth, add a pinch of sugar (½ tsp) when the onions are halfway cooked. This helps with caramelization and balances the spices beautifully. I’ve found that Vidalia onions work well if you can’t get yellow onions.
Bean Texture Control
Black-eyed peas need gentle heat to avoid breaking down. Simmer them uncovered at low heat for 20 minutes, stirring occasionally. If they’re not tender, add ½ cup water and cook another 10 minutes. Overcooking turns them mushy—we want them to hold their shape but be fork-tender. 🍲
For even better texture, soak the beans overnight in water with a pinch of baking soda (½ tsp). This reduces cooking time and prevents gas buildup. If using canned beans, drain and rinse them well to remove excess sodium.
Coconut Milk Magic
The full-fat coconut milk is non-negotiable—it’s the heart of this curry. Simmer it on medium-low heat for 15-20 minutes to thicken naturally. Stir occasionally to prevent skin from forming. The sauce should coat the back of a spoon with a velvety consistency. 🥥
If the curry seems too thin, let it reduce longer or add a cornstarch slurry (1 tsp cornstarch + 1 tbsp water) to thicken. Avoid heavy cream—it’ll overpower the delicate coconut flavor. For extra richness, stir in 1 tbsp coconut cream at the end.
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried?
Yes, but with adjustments! Use 2.5 cups canned black-eyed peas (drained and rinsed) instead of soaked dried beans. Since canned beans are pre-cooked, reduce the simmer time to 10-12 minutes after adding them to the spice base. The texture will be slightly softer but still delicious.
How spicy is this curry? Can I make it milder?
The recipe uses 2 whole dried chilies for mild heat with aromatic depth. For a milder version, remove the seeds and membranes or reduce to 1 chili. If you prefer no heat, skip the chilies entirely and add ½ teaspoon ground sweet paprika for color instead.
What's the best way to store leftovers?
Store in an airtight container in the fridge for up to 4 days—the flavors actually deepen! For freezing, portion into 1-cup servings and freeze for up to 3 months. Thaw overnight in the fridge, then reheat gently with 1-2 tablespoons water to restore creaminess.
Can I substitute other beans?
Kidney beans or chickpeas work beautifully—just adjust cooking time. Kidney beans need 25-30 minutes of simmering, while chickpeas (canned) only need 10 minutes after adding to the curry. For texture, use 1.5 cups dried or 2.5 cups canned of any firm bean.
Why does my curry taste too tangy?
Tamarind paste is potent—start with ½ tablespoon if you're sensitive to tang. Balance it by adding ½ teaspoon sugar or 1 tablespoon coconut cream at the end. The coconut milk's natural sweetness also helps mellow sharpness. Taste as you go!
