Main Courses
This South African bean curry recipe transforms humble ingredients into a rich, aromatic dish that captures the heart of Cape Malay cuisine. The slow-simmered blend of spices—curry powder, fenugreek, and cinnamon—creates layers of warmth that pair perfectly with tender beans and velvety coconut milk.
I developed this version after years of perfecting the balance between earthy spices and creamy textures, ensuring every bite delivers that signature South African comfort.
The foundation of this curry lies in proper spice toasting and layering flavors. You'll start with onions caramelized until golden, then build depth with whole spices before adding the beans and coconut milk.
The result is a dish that's both hearty and elegant, with beans that absorb the aromatic broth while maintaining their structure. This recipe serves 4-6 and comes together in about 45 minutes, making it ideal for weeknight dinners or meal prep.
What makes this bean curry truly special is its versatility—serve it with steamed basmati rice for a complete meal, or pair it with warm roti or crusty bread to soak up every last drop of that fragrant sauce.
The spices develop even more complexity as the curry sits, so it tastes even better the next day. This is the kind of dish that brings people together, whether you're cooking for family or sharing with friends.
The secret to authentic South African flavor lies in the spice blend: curry powder, fenugreek seeds, and a touch of cinnamon create that signature warmth. For an extra layer of authenticity, add a few curry leaves if you can find them—they infuse the dish with a unique citrusy aroma.
This vegetarian-friendly version proves that plant-based meals can be just as satisfying as meat dishes, with rich textures and bold flavors that will have everyone asking for seconds.
Ingredients for bean curry recipe south africa
These 15 ingredients bring Cape Malay flavors to your kitchen with minimal effort.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Split Peas 🌾 | 1 ½ cups | Dried, soaked overnight |
| Large Yellow Onions 🧅 | 2 whole | Thinly sliced, caramelized |
| Curry Powder 🌶️ | 2 tbsp | Mild or medium heat |
| Fenugreek Seeds 🌿 | 1 tsp | Toasted lightly for aroma |
| Ground Cinnamon 🌿 | ½ tsp | For warmth, not sweetness |
| Curry Leaves 🌿 | 10 whole | Fresh if available, dried if not |
| Fresh Ginger Root 🧄 | 2 tbsp | Grated, not powdered |
| Coconut Milk 🥥 | 13 ½ oz | Full-fat can, unsweetened |
| Tomato Paste 🍅 | 2 tbsp | Smooth, no sugar added |
| Garlic Cloves 🧄 | 4 cloves | Minced, not powdered |
| Vegetable Oil 🫒 | ¼ cup | For sautéing onions |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Peppercorns 🌶️ | ½ tsp | Freshly cracked |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The curry powder and fenugreek seeds are the heart of this dish—don't skip toasting them lightly in the oil first. Penzeys or any bulk spice section at Whole Foods has great options. For curry leaves, I grab them at Indian grocery stores—they're worth the hunt for that citrusy aroma. The coconut milk? Full-fat canned is non-negotiable—light versions won't give that creamy texture. If you can't find fresh curry leaves, dried ones work at half the quantity, but they won't have the same punch.
No fenugreek seeds? Dried fenugreek leaves at one-third the amount will work in a pinch. Subbing coconut milk? Cashew cream (blend soaked cashews with water) gives similar richness. The tomato paste can be skipped if you're using fresh tomatoes, but I find it adds that deep umami base. For the ginger and garlic, fresh is always better—powdered just won't cut it here. The split peas? Rinse them well before soaking to remove any debris, and don't skip the overnight soak unless you're using a pressure cooker.
This curry improves overnight, so make it a day ahead if possible. Store in an airtight container in the fridge for up to 5 days. The flavors meld beautifully, and the beans get even more tender. For freezing, portion into 2-cup servings—they reheat perfectly with a splash of water. The cilantro and lemon juice can be added fresh when serving, so don't worry about prepping them until the end. If you're meal prepping, the rice can go in the same container—just keep it separate until reheating.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss split peas, onions, and spices into a pot, and let it simmer. No chopping, no fuss, just hands-off flavor that smells like home by the time you’re done.
- Deep, Warm Spice Bomb: That curry powder and fenugreek? It’s not just flavor—it’s comfort. The split peas soak up the earthy, slightly sweet notes while the cinnamon adds this subtle warmth that makes every bite feel like a hug.
- Lunchbox Hero: Between us, this curry is my go-to for meal prep. Pack it in containers for work lunches—it reheats beautifully, and the onions caramelize even more the next day, making it taste richer.
- Pocket-Friendly Feast: Split peas are my budget secret weapon. A big batch feeds four for under $5, and the spices stretch further than you’d think. Honestly, it’s the kind of dish that makes grocery day feel like a win.
Step-by-step instructions for South African bean curry
Here's how to craft this rich, spiced bean curry with layers of coconut and warm spices.
Prepare the Yellow Split Peas
Start by rinsing the 1.5 cups yellow split peas thoroughly under cold water to remove any debris. Place them in a large bowl and cover with plenty of water—at least 4 cups—then let them soak overnight. This overnight soak ensures they cook evenly and become tender without turning mushy.
After soaking, drain the peas and give them a quick rinse again. In a medium pot, combine the drained peas with 8 cups fresh water and bring to a boil over medium-high heat. Once boiling, reduce the heat to medium-low and let them simmer uncovered for 45-60 minutes, stirring occasionally, until they're tender but not falling apart. You'll know they're ready when a taste test reveals softness with just a slight bite.
Build the Spice Base
While the peas cook, heat the 0.25 cup vegetable oil in a large, heavy-bottomed pot over medium heat. Add the 2 whole large yellow onions, sliced thinly, and cook them for 8-10 minutes, stirring occasionally, until they turn a beautiful golden brown. This caramelization adds deep, sweet flavor to the curry.
Push the onions to the side of the pot and add the 2 tbsp fresh ginger root (grated) and 4 cloves garlic (minced). Cook for 2-3 minutes until the garlic becomes fragrant and just starts to turn golden. Stir in the 2 tbsp curry powder, 1 tsp fenugreek seeds, 0.5 tsp ground cinnamon, and 10 whole curry leaves. Cook for another 1 minute, stirring constantly, until the spices are fragrant and the fenugreek seeds begin to pop.
Combine and Simmer the Curry
Add the 2 tbsp tomato paste to the pot and stir it in well, letting it cook for 1-2 minutes until it darkens slightly. Pour in the 13.5 oz coconut milk and stir to combine. Now add the cooked yellow split peas along with their cooking liquid. Season with 1.5 tsp salt and 0.5 tsp freshly cracked black peppercorns. Bring the mixture to a gentle simmer over medium-low heat. Here's the thing—this curry needs time to develop its flavors, so let it simmer uncovered for 45-60 minutes, stirring occasionally to prevent sticking.
You'll know it's ready when the flavors meld together beautifully, and the curry thickens slightly. The aroma should be rich, spicy, and inviting—like a warm hug in a bowl. If the curry gets too thick, add a splash of water or reserved cooking liquid from the peas to reach your desired consistency.
Finish and Serve
Once the curry has simmered to perfection, stir in the 0.25 cup fresh cilantro (chopped) and 1 tbsp lemon juice. The cilantro adds a bright, fresh contrast to the rich spices, while the lemon juice brightens everything up. Taste and adjust the seasoning if needed—you might want to add a pinch more salt or a splash of lemon juice to balance the flavors.
Serve the curry hot, either on its own or paired with steamed rice, crusty bread, or warm roti. The curry should be thick enough to coat the back of a spoon but still have a lovely, spoonable consistency. The split peas should be tender, and the coconut milk should be creamy, creating a harmonious blend of textures and flavors that's pure comfort food.
Pro Tips For Making Bean Curry Recipe South Africa
- TOAST THE PEAS: I learned this the hard way—skipping this step makes the texture mushy. Dry-roast the split peas in a hot pan for 2-3 minutes before adding liquid. You’ll hear them pop and smell that nutty aroma—this builds flavor and prevents them from turning into porridge.
- FRY ONIONS LOW AND SLOW: High heat burns onions before they caramelize. Cook them on medium-low with a splash of water, stirring often, until deep golden—not crispy, just soft and sweet. This is where the base flavor lives, so don’t rush it.
- SALT THE BEANS MID-COOK: Adding salt only at the end makes the peas tough. Taste the broth after 20 minutes and season halfway through—this helps them absorb flavor evenly. (Yes, even if you’re impatient like me.)
- SKIP THE CROWDED PAN: Packing too many peas into the pot turns them into glue. Cook them in batches if needed, or use a larger pot. You want them to simmer gently, not steam like a sad cloud.
Dietary considerations for these flavors
Vegetarian-Friendly
This bean curry is naturally vegetarian, relying on split peas for protein and coconut milk for richness instead of meat. The dish delivers a satisfying, hearty texture that rivals meat-based curries.
I've tested this recipe with various protein sources, and the split peas hold their shape beautifully while absorbing the aromatic spices. 🌱
Gluten-Free Adaptation
Since the recipe uses only beans, coconut milk, and spices, it's inherently gluten-free. Just ensure your curry powder and tomato paste are certified gluten-free brands. I recommend Bob's Red Mill or Anthony's Goods for reliable gluten-free spice blends. Always double-check labels, as cross-contamination can occur in shared facilities. ✨
Dairy-Free Options
The original recipe uses coconut milk, which is naturally dairy-free. For extra richness, you can substitute with cashew cream (blend soaked cashews with water) or oat milk (though coconut milk remains the most authentic choice). The dish still maintains its creamy texture while keeping it dairy-free. 🥥
Protein Boost
For added protein, stir in ½ cup cooked lentils or 1 cup chickpeas during the final 15 minutes of simmering. These ingredients blend seamlessly into the curry while enhancing its heartiness. I've found that adding chickpeas also helps thicken the sauce naturally, reducing the need for extra coconut milk. 💪
Spice Level Control
Adjust the heat by modifying the curry powder quantity. For a mild version, reduce to 1 tbsp total. For medium heat, stick with 2 tbsp. If you love spice, add ½ tsp cayenne pepper or 1 tsp red chili flakes when combining the spices.
Always taste and adjust gradually—you can't remove heat once it's added! 🌶️
Nut-Free Version
While coconut milk is the traditional choice, this recipe works perfectly with full-fat canned pumpkin puree (½ cup) mixed with ½ cup water for a nut-free alternative. The pumpkin adds natural sweetness that complements the spices beautifully. This swap is especially helpful for those with coconut allergies. 🎃
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried split peas?
Yes, but with adjustments! Use 2 (15 oz) cans of yellow split peas (drained and rinsed) and reduce the simmering time to 20-25 minutes after adding them to the curry. Canned beans cook faster, so monitor closely to avoid mushiness. For best texture, choose low-sodium varieties and rinse thoroughly.
What makes this South African bean curry different from Indian versions?
The key lies in the spice blend! South African curries often use fenugreek seeds and curry leaves (if available) for a distinct aroma, plus a touch of cinnamon for warmth. The coconut milk is also typically full-fat, creating a richer, creamier sauce than many Indian bean curries. The slow simmering time develops deeper, earthier flavors.
How do I prevent the curry from getting too thick?
Add liquid gradually! If the curry thickens too much during simmering, stir in 2-3 tbsp of water or reserved bean cooking liquid. For prevention, don't drain the beans completely after soaking—leave about 1 cup of their soaking liquid when transferring them to the pot. This helps maintain proper consistency throughout cooking.
Can I make this curry in an Instant Pot?
Absolutely—it's perfect for pressure cooking! After sautéing onions and spices, add all ingredients (except cilantro and lemon juice) to the Instant Pot. Cook on high pressure for 12 minutes, then quick-release. Finish with fresh herbs and lemon juice. The beans will be tender with minimal effort, and the flavors develop beautifully in the pressure cooker.
What's the best way to store leftovers?
Store in an airtight container in the fridge for up to 5 days. The flavors actually improve overnight! For freezing, portion into 2-cup servings and freeze for up to 3 months. When reheating, add a splash of water or coconut milk to restore creaminess. The texture remains perfect when properly stored.
