This post may contain affiliate links. Please read my disclosure policy for more details.
I am in love with this super nourishing pinto bean soup! The hearty beans break and melt into a rich tomato broth that’s full of herbs and smoky flavour. It’s so delicious and creamy that all you want is crusty bread to dunk in!
Serve it with these panini bread rolls or easy Italian focaccia, and everybody will come back for seconds. And thirds!

If you love beans, you and I will probably be friends. From the best white bean soup to this rich bean stew and Italian pasta with beans, I would eat beans everyday.
They’re healthy, economical, versatile and so delicious, great for a variety of meatless meals. They’re also one of the planet’s most sustainable protein sources.
And if you’ve decided that beans are for dinner tonight, this pinto bean soup will hit the spot!
The recipe starts with a solid base: onion, carrot, celery, and garlic saute’ in olive oil. Then you add extra flavor to the soup broth with little touches like smoked paprika, dried herbs and some tomato paste which thickens the broth nicely as well as driving home the tomato flavour. And the beans will break and melt into this deliciousness!
Double the ingredient to make a big batch. It freezes well, and it’s gluten-free, inexpensive and makes a wonderful vegetarian family meal when you serve it with crusty bread or rice on the side.
Once you’ll try this pinto bean soup, you’ll be making it again and again!
List of the ingredients
- Pinto beans
- Vegetables (onion, carrot, celery, garlic)
- Olive oil
- Tomato paste
- Broth
- Smoked paprika
- Herbs (oregano, rosemary, sage, bay leaf)
- Salt & pepper

How to make pinto bean soup
- Saute’ onion, carrot and celery in olive oil for about 5 minutes.
- Add garlic, paprika and dried herbs.

- Stir and cook for 1 minute to enhance all the flavors.
- Add beans, broth, tomato paste, bay leaf.
- Bring to the boil and cook for 20-25 minutes.

- Turn the heat off, let it cool slightly, and blend 1 cup of soup (this is an optional step, but it takes the texture to the next level!). I use and love this blender, but an immersion blender will be ok too.
- Return the blended soup to the pot, toss to combine, adjust the seasoning.
- Serve with a drizzle of extra virgin olive oil and crusty bread!

Recipe notes & tips
Pinto bean soup ingredients
Beans: I used 2 cans of pinto beans, but cranberry beans, kidney beans, or cannellini beans work fine too. I used canned beans for convenience, but you’re welcome to use budget-friendly dried beans (see notes in the recipe card).
Soffritto: the dish starts with this flavor base, basically a mix of diced carrots, celery, and onion saute’ in olive oil until translucent. This is the base for most of my soup recipes.
Tomato paste: always keep a tube of tomato paste in the fridge: it’s rich, concentrated and full of umami flavor. But you can substitute 1/3 cup of tomato puree for tomato paste if needed.
Broth: I use low-sodium vegetable broth to bring flavor without adding too much sodium, but any regular vegetable broth or even chicken broth works, just make sure you adjust the seasoning at the end.
Herbs: for convenience, I used a mix dried herbs that work beautifully with the beans and the tomato broth. You might use only oregano or Italian herb seasoning instead of this mix. Let’s keep things simple!
Spices: smoked paprika adds that warm smoky flavor without being overpowering, don’t skip it. And if cayenne pepper or chili powder are your thing, add some to taste.
Salt & peper: add salt and pepper to taste and make sure the flavor pop!

Add more veggies or grains!
You’re more than welcome to make this versatile pinto bean soup more filling. Here are a few delicious add-ins that you might love:
- Veggies: more carrots, celery, or a peeled and diced potato make this soup filling and more hearty.
- Leafy greens: add baby spinach or baby kale in the last 1-2 minutes of the cooking time. Stir and cook until wilted.
- Grains: short-cut pasta or rice will turn this pinto bean soup into a full meal. And if you go for whole-grain, you’ll get all the amino acids you need.
Grains + beans = essential amino acids. - Cheese: if you don’t keep it vegan, serve with freshly grated parmesan cheese, it gets only better!
Note: if you add extra veggies or grains, adjust the broth and the cooking time accordingly. But if you add whole-grains that require longer cooking time (e.g. brown rice), cook them separately.

Looking for more bean recipes?
Here are a few of our favorite staples, they make fabulous family weeknight meals and they’re a great source of protein:
If you make this pinto bean soup, or if you have any questions, let me know! Leave a comment, send me a message, or rate it. I would love to hear from you!
And for more recipe updates, subscribe my newsletter and follow me on Instagram, Pinterest and Facebook.
Pinto Bean Soup
Ingredients
- 1 Tbsp Olive oil
- 1 onion, diced
- 1 carrot, diced
- 1 celery rib, diced
- 2 garlic cloves, pressed
- ½ Tbsp smoked paprika
- 1 tsp dried oregano
- 1 tsp dried sage
- 1 tsp dried rosemary
- ⅛ tsp cayenne pepper (optional)
- 2 cans (14oz/400 grams each) pinto beans, drained
- 1 ½ cup (360 ml) low-sodium vegetable broth, plus more if you wish
- 2 Tbsp tomato paste
- 1 bay leaf
- ½ tsp fine salt, plus more to taste
- ground black pepper, to taste
To serve
- extra virgin olive oil
- fresh parsley or cilantro
Instructions
- Warm the olive oil in a large pot or Dutch oven over medium heat. Once the oil shimmers, add the diced carrot, onion, celery, and cook, stirring often, until the onion is turning translucent (5 minutes).
- Add the garlic, the spices and the herbs. Stir to enhance all the flavors for about 1 minute.
- Add the beans, the broth, the tomato paste and the the bay leaf. Raise the heat and bring to the boil. Then reduce to maintain a gentle simmer, cover the pot, and cook for 20-25 minutes. Stir occasionally.
- Turn the heat off and let it cool slightly. Then transfer approximately 1 cup of the soup to a stand blender and whizz until smooth. Be careful because it's still hot. Return the blended soup to the pot, toss to combine it well with the rest of the soup. This step is optional, but if you blend one portion of the soup it gives you a creamier texture.
- Taste to adjust the seasoning to your liking. (I find that ½ tsp of fine salt and ⅛ tsp of black pepper is fine for my low-sodium broth, but make sure to adjust it to your taste). Make sure you're happy with consistency, add a touch of broth of water if you prefer a thinner soup or reduce it if you prefer a pinto bean stew.
- Divide into 4 bowls and serve with a drizzle of extra virgin olive oil, fresh parsley or cilantro, and crusty bread or corn bread.
Megan
Absolutely delicious and very easy to make!
Katia
I’m so happy it turned out delicious! Thanks so much for sharing your feedback, Megan.
Cheers x