This is a bean soup with a thick, creamy tomato broth that’s soothing, nourishing and extremely economical. It’s incredibly simple to make, yet full of savoury flavour. Use canned beans for a 20 minute meal, or dried beans if you’ve got the time.
Make this with any type of white beans – cannellini, navy, great northern, butter beans, lima. Coloured beans will also work perfectly though the colour of the broth will be different!

Creamy Tomato Bean Soup
This is the part where I do what every food blogger does – the “big sell” to convince you that this the best bean soup recipe in the world and how you absolutely must try it right now!
It will be littered with lots of exclamation marks – because I am an excessive user of exclamation marks, to the point that I have been told off by a reader who wrote in to say that it’s unprofessional to use so many, just one per sentence is sufficient, and in any case, I’m much too old to be writing like that.
(To which I replied “Dear X, I’m so sorry to hear that the way I write offends you!!!!! I’m just a naturally enthusiastic person and I just can’t help it!!!! Sincerely, Nagi!!!)
😂
But actually, today, I’m not going to do the big sell. I’m just going to quite simply say this to you:
This soup is a very easy way to turn boring canned beans into an extremely delicious meal.

(And yes, you absolutely must try it right now!😉)
What goes in this bean soup
Here’s what you need:

Canned or dried white beans – any type. More on this below!
Wine and cream recommended / you’ll thank me for it – but still scrumptious without (as I have done numerous times in recent weeks);
Parmesan provides umami here, the fancy word for “savoury flavour”;
Italian herbs – sub with dried basil, parsley, oregano, thyme or any combination thereof;
Tomato paste – quite a bit of it! Because we’re not using canned tomato here, this is what gives the tomato flavour and helps thicken the soup;
Carrot (optional), onion and garlic – an essential flavour base for an otherwise simple soup broth. The trick here is to sauté them for 5 minutes until sweet, then they get blitzed up with the liquid. Blitzing releases flavour!
Baby spinach – completely interchangeable with any leafy green suitable for stirring through the soup. OR get your veg quota by using diced vegetables of any kind!
Dried vs canned beans
Dried will give you slightly better flavour in the beans, you can control the salt yourself (because canned beans are typically quite generously salted) and is more economical. Canned beans is sheer convenience – and is what I use 95% of the time.

You’ll need either 2 cups of dried beans, or 3 canned beans. I’m using white cannellini beans in these photos and the video, but you can use any white beans:
lima
butter beans
navy beans (haricot)
great northern
This recipe will also work with coloured beans (kidney beans, black beans etc) without changing the flavour BUT you might end up with an interesting broth colour!
Recipe includes directions for how to cook dried beans.

How to make this creamy bean soup
Saute onion, carrot, garlic and tomato paste;
Simmer with stock/broth;
Add just 1/2 cup of beans – we use this to thicken the broth!
Blitz blitz blitz
Add remaining beans and spinach,
Serve!


Three little things that make all the difference…
The three things in this recipe that makes a relatively simple soup taste so much better than you think it will are:
Slowly sauté onion, garlic and carrot which makes them sweet and flavourful;
Cook off the tomato paste – this takes off the harsh raw, sour edge;
Blitz it all up with the stock/broth and some of the beans. Blitzing = flavour release, beans = thickens soup!
And here’s what you end up with – a thick, creamy soup with the wonderful scent of tomato but tastes creamy and savoury like a chowder. It’s incredibly filling – and will keep you full, thanks to all the beans!

Serve with soup dunkers
Beans are a starch, so technically I guess serving with bread could be considered carb overkill. BUT! Remember that beans are good for you – they are the world’s best plant based source of protein, high in fibre, low in fat.
With all that goodness happening in this bean soup, I feel like a soup dunker is not just ideal, it’s justified – so try one of these!
Also, I use a large mound of spinach in this to get my veg quota in. But a big leafy salad certainly wouldn’t go astray – tossed with a salad dressing of choice! – Nagi x
Watch how to make it
Hungry for more? Subscribe to my newsletter and follow along on Facebook, Pinterest and Instagram for all of the latest updates.

Creamy Tomato Bean Soup
Ingredients
- 2 tbsp/ 30g butter , unsalted
- 1 onion , finely chopped (brown, yellow, white)
- 2 garlic cloves , finely chopped
- 1 carrot , large, peeled and finely chopped
- 1 1/2 tsp Italian herb mix OR other dried herbs (oregano, thyme, parsley, basil, or mixed)
- 3/4 cup (170g) tomato paste (Note 1)
- 1/2 cup (125ml) dry white wine , optional (can omit)
- 4 cups (1 litre) stock/broth, chicken or veg , low sodium
- 3 x 420g/15oz cans cannellini or any white beans, drained & rinsed (navy, butter, great northern, lima) (OR 2 cups dried beans, 5.5 cups cooked, Note 2)
- 1/2 cup (50g) parmesan , grated
- 1/2 tsp EACH salt and pepper
- 120g/4oz baby spinach (or 5 – 6 cups any other leafy greens OR 4 cups diced veg, Note 3)
- 3/4 cup (185ml) cream, heavy/thickened (optional) OR more butter!
Instructions
- Melt butter in a pot over medium high heat. Cook garlic, onion and carrot for 5 minutes until carrot is soft and sweet.
- About 3 minutes in, add the Italian herbs and cook with the onion (makes the herb flavour "bloom").
- Turn heat up to high, add tomato paste. Cook for 2 minutes to remove the “raw” flavour.
- Add white wine, cook for 3 minutes until the harsh “winey” smell is gone and mostly evaporates so you’re just left with tomato paste again.
- Add 1/2 cup of beans (to thicken soup), stock, parmesan, salt and pepper. Stir, low heat, cover and simmer 3 minutes, stirring every now and then.
- Use a stick blender to puree until smooth (or transfer to blender).
- Add remaining beans, simmer 3 minutes. Stir in spinach until wilted, then stir in cream if using. Add more salt and pepper if needed (note: canned beans are already salted).
- Serve with crusty bread for dunking!
Recipe Notes:
- 1 can = 1 3/4 cups beans once drained
- Recipe calls for 3 cans = 5 1/4 cups beans
- 1 cup dried beans = 2 3/4 cups cooked
- So you will need 2 cups dried beans (2 x 2.75 = 5 1/2 cups cooked beans)
Nutrition Information:
More bean recipes
No bland beans around here!!
And more hearty soups!
Life of Dozer
Just another day in the Hard Life of Dozer – starting the morning with a beach play!

Making the “Creamy Tomato Bean Soup” tonight was a great success! Both my husband and I LOVED it! I’m glad this recipe came to my attention.
Thanks Nagi your recipes have been an iso super success at our place loved the soda bread, cauliflower soup, tomato bean soup and your chicken gyros has been elevated to legend status, run out of room to rave, have found nothing on your site that has not blown us away! Keep up the excellent work. Xx
Hi Nagi,
Looking at this receipt, Yum. I have an abundance of tomatoes at the moment, do you think I could roast them with garlic and herbs, mill them and add to the soup or would that spoil the receipt?
Hi Dozer. Leanne
Delicious and easy to make. Very creamy and filling. It’s not something I would normally make but I saw all the good reviews and thought I’d give it a go. Very happy I did!
Wahoo, that’s great to hear Sophia! N x
Just to clarify….
We add “3/4 cup” of tomato paste? Wanted to doubke check as that sounds like a lot! Thank you.
Hi Lanette, yes that’s correct – I talk about it in the notes too. N x
First, lets start with what I did: nothing was measured correctly albeit the wine and herbs, I let the veggies cook much too long because I was trying to figure out how to get the tomato paste open, and then that cooked too long while I tried to figure out which of my white wines was the driest, and I used milk instead of cream (none of these are really that bad, tbh). And with all that said, this came out ABSOLUTELY DELICIOUS! I feel like I shouldn’t be surprised, because everything I’ve cooked from this site has been flavourful and wonderful, but I was so impressed how fool proof this one is, I had to say something <3
Wahoo, that’s awesome Aliya!! N x
Hi, I made this creamy tomato soup last night. It was delicious. I put too much tomato past in, and used unsalted chicken broth, which were mistakes that I’ll fix next time. Otherwise it was really creamy, thick and hearty. I will also try ham or bacon in it next. Thanks for a great recipe!! I love your web site!
I’m so glad you enjoyed it enough to give it another shot 🙂 N x
Very, very tasty! And one batch does lunch for a week. Sooo good.
Very tasty, especially considering the rather simple ingredients.
Although, I almost ruined the soup. I had split peas and thought, ‘this will cook quickly’ and preceded to add the dry beans as if I were adding cooked beans.
After 30 minutes of cooking, still crunchy. I looked for answers of the web and learned acid (tomato, wine) hinders the cooking and that I can add 1 tsp of baking soda to reverse the effect 😅
Absolutely divine! Just finished leftovers for breakfast. Entire family loved it. Glad I didn’t skip the wine, felt like we were eating something from an Italian restaraunt.
Do you think frozen chopped spinach would work instead of fresh baby spinach? If so, when should it be added?
Hi Sue – I’d prefer fresh here as frozen is really watery and somewhat grainy – you’ll get green flecks throughout your soup! N x
Absolutely loved this soup, reminded me of Tuscany!!!
I love hearing this Stephanie! N x
Wow! I love this soup!! I’ve been searching for the perfect bean soup recipe but no more…I found it!! This is so delicious. Thanks so much!! I didn’t have spinach skipped that step with apparently no I’ll effects. :-).
I only had 2 cans of butter beans and a whole cauliflower… Worked a treat!
Hi Nagi, I absolutely LOVE all of your recipes! My husband is always super excited when I tell him I’m making “one of Nagi’s recipes” 😂 I have half a carton of buttermilk left over from another recipe, just wondering if you think I could add that instead of the heavy cream or would it affect the flavour too much with the acidity? Thanks again for all of your fail-safe recipes!
Hi Kelly, it would make it have a slightly sour note. I’d make muffins instead with it 🙂 N x
Thanks for the reply! Great idea X
10/10, this was so beautiful! Had everything at home, except the cream and whipped it up in no time! Thanks for the recipe 😀
That’s great Francene, thanks so much!! N x
thank you for Creamy very Munich for Creamy Tomato Bean Soup it was delight
Magi, I really appreciate your recipes and all of the effort you put into explaining exactly hoe to make them. Since I cannot eat dairy can you what suggest something I can use in place of the Parm cheese in this recipe to get the same flavor. Also, do you think coconut milk could be used in this recipe instead of cream? Thank you
Hi Emma, for that umami flavour, I’d add 1/2 tsp Vegeta to boost the flavours in place of the parmesan. Cream is totally optional – coconut cream or lactose free cream would be fine. N x
I love the way you write. Love ALL your explanation marks!!!!
I can’t help it!!! 😂
My dear old mom sent me this recipe. She loves your site and I made your soup this morning for our lunch today. It is *so* good. Can’t wait to try some of your other vegetarian items. Thanks for sharing your table!
You’re so welcome Jenn, I hope you love them! N x
What a tasty soup! I used only two cans of beans and full fat milk instead of cream. I definitely cook this again – no more tin tomato soup! Thank you! x
Wahoo, that’s great Saeko! N x