
This velvety coconut butter bean curry has turned into my go-to dinner savior when I'm craving something that's both cozy and nourishing. The smooth coconut sauce wraps around the tender beans, making every bite totally satisfying.
I came up with this dish during a super hectic workweek when I wanted something quick but still good for me. Now I make it whenever friends pop in without warning. The mix of warm curry spices and smooth coconut never fails to wow even my foodie pals.
What You'll Need
- Coconut oil gives a light tropical hint that works so well with the curry
- Shallots add a gentler, sweeter base than you'd get from regular onions
- Fresh garlic cloves add that must-have punch – grab ones that aren't soft or sprouting
- Fresh ginger throws in a spicy warmth – look for chunks that don't bend or have wrinkly skin
- Tinned butter beans deliver that smooth texture and soak up all the tasty stuff – don't toss the liquid
- Spinach brings color, goodness and a bit of earthiness – fresh is top choice but frozen does the job too
- Coconut milk makes everything silky and rich – the full-fat kind makes it extra dreamy
- Tomato puree adds richness and a touch of tang – the thick stuff packs more punch
- Curry powder gives that key flavor kick – go for one with bright, bold color
- Lime juice cuts through with a zingy freshness – pick ones that feel weighty
- Chili flakes bring as much heat as you want – bright red ones have the best flavor
Tasty Coconut Butter Bean Curry Steps
- Cook Your Base Flavors
- Warm the coconut oil in a big skillet over medium heat till it starts to shimmer. Toss in your chopped shallots and let them cook about 2 minutes until they start getting soft and see-through. Add your minced garlic and ginger, keep stirring so nothing burns. Cook another 3 minutes till everything smells amazing and the shallots get golden bits.
- Create Your Flavor Foundation
- Put the tomato puree in the pan with a little splash of water (like 2 tablespoons) to stop it sticking. Keep stirring for about a minute so the tomato gets a bit caramelized for deeper flavor. Sprinkle your curry powder in and stir for half a minute to wake up those spices. Add your butter beans with all their tin liquid and mix everything gently so the beans get coated in all that tasty stuff.
- Make It Creamy
- Pour your coconut milk in, stirring carefully to mix everything together. Add a good pinch of salt, about ¼ teaspoon to start with. Let everything warm up to a gentle bubble, not a crazy boil that might split your sauce. Let it simmer for 5 minutes, giving it a stir now and then so nothing sticks and all the flavors get friendly with each other.
- Add The Fresh Stuff
- Turn the heat down low and put your chopped spinach in bit by bit, letting each handful wilt down before adding more. Once all your spinach is in, squeeze lime juice right over everything and sprinkle chili flakes according to how spicy you like it. Give it a taste and add more salt if needed. Let everything bubble together for 2 more minutes to finish up.
The curry powder really makes this dish special. I once cooked this for my grandpa who grew up in southern India. He shut his eyes after his first taste and told me it took him back to the food carts from his childhood days. Though my version's definitely been tweaked, I love that this simple meal brought back such strong memories for him.
Great Food Combos
This curry tastes amazing poured over light, fluffy basmati rice that soaks up all that great sauce. For a full dinner, serve it with a simple cucumber yogurt dip that cools down the warm spices. I also love tearing off pieces of warm naan bread to scoop up every bit of sauce.
Easy Swaps
Don't have butter beans? Try white kidney beans or chickpeas instead – they'll keep that nice chunky texture. No fresh spinach around? Frozen works too, just squeeze out the water before you throw it in. If you're out of curry powder, mix some ground cumin, coriander, turmeric and garam masala to make your own spice blend.
Keeping It Fresh
This curry stays good in the fridge for about 4 days if you keep it in a sealed container. The flavors actually get better over time, so it's great for planning meals ahead. When you're warming it up, add a splash of water or coconut milk if the sauce has gotten too thick. Want to keep it longer? Freeze it in meal-sized portions for up to 3 months and let it thaw in the fridge overnight before gently heating it up.

Adjusting The Spice
You can easily change how hot this dish is. If you love spicy food, use twice as many chili flakes or throw in a chopped fresh chili with your onions and garlic. Try swapping regular curry powder for the hot kind to kick things up. If you're cooking for kids or people who can't handle heat, just skip the chili flakes and go for a mild curry powder. The coconut milk helps cool things down if it gets too fiery.

Frequently Asked Questions
- → Can I swap canned beans for dried ones?
Sure, dried butter beans work great, but soak them overnight and cook until soft before starting. This adds 1-2 extra hours, so canned is quicker and simpler for busy days.
- → What’s a good replacement for coconut milk?
No coconut milk? Heavy cream thinned with water works for a creamy texture. Or try almond milk with a splash of coconut oil to keep it rich. The taste will change a little, though.
- → How spicy does it get?
The heat is mild with a kick from chili flakes and curry powder. Want less heat? Skip the chili flakes. Like it spicier? Add more to taste!
- → Can I cook this ahead of time?
Absolutely! The flavor deepens if left in the fridge for up to 3 days. Just don’t add spinach until reheating so it stays bright and fresh.
- → Which curry powder should I use?
A medium Madras curry powder works well, but any blend you like will do. For a more classic Indian vibe, add garam masala or mix your own spices like cumin, coriander, and turmeric.
- → Is this a vegan dish?
Yep, it’s fully plant-based! Coconut oil and coconut milk replace dairy, and everything else is vegan-friendly too.