This easy vegetarian curry recipe is packed with nutritious, creamy butter beans simmered in a richly spiced tomato sauce. With lots of pantry staples, this is easy to pull together, economical, and very flexible to work with your own preferences.

Let’s make butter bean curry…

This butter bean curry is a delightfully easy pantry staple recipe that can be spun lots of different ways. It’s my favorite type of recipe to share here: a flexible “base” recipe that I have already tested lots of variations for!

My butter bean curry is super easy, using lots of simple spices with canned ingredients and canned tomatoes. It has a vibrant and juicy finish, which contrasts perfectly against the creaminess of the butter beans. The tomato is very present in the flavor, though you can pivot this towards a more decadent creamy curry if you add the optional dairy or coconut cream.

What you need to know about the ingredients + substitutions

  • Butter beans: two cans, or you can use 3 cups cooked from dried. They are always nicer from dried, and I totally recommend cooking them in the instant pot if you’ve got the time! (You would want to cook 1.5 cups of dried beans).
  • Canned tomatoes: One can of normal diced tomatoes, and one can of cherry tomatoes is optimal. If you can’t get canned cherry tomatoes, use two cans of normal tomatoes but throw in a handful of halved cherry tomatoes at the end if you can. For this recipe I do highly recommend quality canned tomatoes, I love the Mutti brand. If you are using lower quality, less flavorful canned tomatoes you risk the curry turning out bland – I’d recommend adding the optional cream / coconut cream in this instance.
  • Whole spices: I loooove adding whole spices to my curries, and this recipe uses cumin and fennel seeds which should be available in supermarket ranges. However, if you don’t have cumin seeds, just use a teaspoon of ground cumin instead. If you don’t have fennel seeds, don’t worry about it- they are lovely but optional. I might just add another teaspoon or two of the ground curry powder if I didn’t have the fennel seeds, to make sure we keep flavor levels up.
  • Ground spices: curry powder (I used a sweet kashmiri blend), garam masala, chili powder, smoked paprika and cinnamon are my spices of choice. The smoked paprika is optional – it’s not very traditional but it’s always nice to add something smoky!

What else you can add

Treat this as a simple base recipe – there’s lots you can do with it!

  • Cream, coconut cream or cashew cream: I tested this a few times with 1/4 cup of cream and it’s delightful, so if you’re really looking for a creamy butter bean curry, rest assured this recipe can flex that way.
  • Crunchy toppings like fried onion and toasted cashews are always a winner.
  • Lemon wedges for squeezing: especially if you’re adding cream. I don’t see as much need if you’re leaving it as a pure tomato sauce.
  • Frozen peas or spinach: easy ways to add some greens and extra nutrients.

Serving Suggestions

  • This curry would be delightful alongside some Coconut Lime Rice.
  • If you’re looking to pair it with another curry, I’d suggest this Kale Paneer Curry (which can be adapted to be dairy free with tofu and coconut yogurt) as the creaminess and the greens would contrast nicely.

Tomato Butter Bean Curry

This easy vegetarian curry recipe is packed with nutritious, creamy butter beans simmered in a richly spiced tomato sauce. With lots of pantry staples, this is easy to pull together, economical, and very flexible to work with your own preferences.
5 from 1 rating


  • 2 cans butter beans, drained (400g / 14oz cans)
  • 1 medium onion, diced
  • 1 tbsp garlic
  • 2 tsp minced ginger
  • 1 tsp cumin seeds, lightly crushed
  • ½ tsp fennel seeds, lightly crushed
  • 1 tbsp curry powder
  • 1 tbsp garam masala
  • 1.5 tsp chili powder
  • ½ tsp smoked paprika
  • ¼ tsp cinnamon
  • 1 tsp brown sugar
  • 400 g (14 oz) canned diced tomatoes
  • 400 g (14 oz) canned cherry tomatoes in juice
  • 40 g (3 tbsp) salted butter or coconut oil
  • 2-3 tbsp cilantro (coriander), chopped

Optional extras

  • 60 ml (¼ cup) heavy cream or coconut cream, if you want a creamy finish
  • 3-4 tbsp chopped toasted cashews, for a crunchy topping
  • a few handfuls of baby spinach, to mix in
  • frozen peas, to mix in


  • In a large, deep saute pan, heat a little olive oil and fry the onions over a medium heat until lightly browned. Add the garlic and ginger and saute for another minute until soft, being careful not to burn.
    1 medium onion, 1 tbsp garlic, 2 tsp minced ginger
  • Add the seeds to the pan and cook until the fragrance is released. This will be a matter of seconds depending on how hot your pan is. Once you can smell them, move on.
    1/2 tsp fennel seeds, 1 tsp cumin seeds
  • Add the butter to the pan – it will quickly melt. Add the ground spices and sugar, and mix through. The contents of the pan will clump together a little bit – this is fine. Once fragrant, move on quickly to avoid burning the spices.
    1 tbsp curry powder, 1 tbsp garam masala, 1.5 tsp chili powder, 1/4 tsp cinnamon, 1 tsp brown sugar, 40 g salted butter or coconut oil, 1/2 tsp smoked paprika
  • Add the canned tomatoes and mix through, then cover and simmer for about 20 minutes, letting the tomatoes cook down.
    400 g canned diced tomatoes, 400 g canned cherry tomatoes in juice
  • Once the sauce has thickened up a little, add the drained butter beans and chopped cilantro (coriander). If you're adding cream, it will go in now too.
    2 cans butter beans, 2-3 tbsp cilantro (coriander)
  • Serve with rice and/or nan bread.
Serving: 1g, Calories: 285kcal, Carbohydrates: 41g, Protein: 13g, Fat: 10g, Saturated Fat: 5g, Polyunsaturated Fat: 1g, Monounsaturated Fat: 2g, Trans Fat: 0.3g, Cholesterol: 22mg, Sodium: 378mg, Potassium: 1135mg, Fiber: 13g, Sugar: 11g, Vitamin A: 858IU, Vitamin C: 22mg, Calcium: 117mg, Iron: 6mg