I just made a Creamy Pinto Bean Soup where the beans melt into a smoky, herb-studded tomato broth so outrageously rich you’ll only want crusty bread to sop up every last spoonful.

I’m obsessed with this Creamy Pinto Bean Soup because it’s sloppy in the best way. Beans melt into the broth, smoky and herb-heavy.
I love that it reads like Pinto Bean Soup Vegetarian but doesn’t try to be boring. Once I scorched a pot and accidentally caramelized the onions, which somehow made it deeper and richer.
That mess-up turned into my favorite version. The tomato chunks from the diced tomatoes give it zip, and it begs for crusty bread to dunk until you get every streak of sauce.
No pretension. Just big, ridiculous bowlfuls I want right now so badly.
Ingredients

- Beans: hearty protein and creaminess, makes the soup feel filling and homey.
- Olive oil: slicks the pan, adds gentle fruitiness and helps flavors meld.
- Onion: sweet bite when cooked down, gives the base real depth.
- Garlic: punchy and warm, it’s the little wake-up call for the soup.
- Carrot: subtle sweetness and soft texture, plus a bit of color.
- Celery: fresh crunch and savory backbone, keeps things from tasting flat.
- Diced tomatoes: bright acidity and body, they keep the broth lively.
- Broth: the main liquid, gives savory richness without being heavy.
- Cumin: earthy warmth, it’s the classic bean spice you want here.
- Smoked paprika: a cozy smokiness, adds depth without heat necessarily.
- Oregano: herbal, slightly bitter note that ties the veggies together.
- Bay leaf: background herbiness, subtle but important while it simmers.
- Salt: brings everything into focus, start low and taste as you go.
- Pepper: gentle heat and sharpness, finishes the soup cleanly.
- Acid (lime or vinegar): brightens the whole pot, makes it pop.
- Cilantro or parsley: fresh finish, adds a green snap on top.
- Chipotle (optional): smoky heat if you want a spicy kick.
- Crusty bread: perfect for dunking, because you’ll want every last bite.
Ingredient Quantities
- 1 cup (200 g) dried pinto beans, soaked overnight and drained, or 2 cans (15 oz / 425 g each) pinto beans, drained and rinsed
- 1 tablespoon olive oil
- 1 medium yellow onion, finely chopped (about 1 cup)
- 3 cloves garlic, minced
- 1 large carrot, diced
- 1 celery stalk, diced
- 1 can (14 to 15 oz / 400 g) diced tomatoes, with juices
- 4 cups (1 litre) low sodium chicken or vegetable broth
- 1 teaspoon ground cumin
- 1 teaspoon smoked paprika
- 1/2 teaspoon dried oregano
- 1 bay leaf
- Salt, 1 to 1 1/2 teaspoons, to taste
- Black pepper, 1/2 teaspoon, plus more if needed
- 1 tablespoon lime juice or apple cider vinegar, to brighten
- Fresh cilantro or parsley, 1/4 cup chopped, for serving
- Optional: 1 small chipotle in adobo, minced, or 1/4 teaspoon chipotle powder for extra smokiness
- Crusty bread, for dunking (not required in soup but you’ll want it)
How to Make this
1. If using dried pinto beans, drain the overnight soaked beans and put them in a pot with fresh water to cover by about 2 inches; bring to a boil, reduce heat and simmer until tender, about 1 to 1 1/4 hours, then drain. If using canned beans skip this and just drain and rinse them.
2. Heat the olive oil in a large pot over medium heat. Add the chopped onion, carrot and celery and a pinch of salt. Cook, stirring now and then, until the veggies are soft and the onion is translucent, about 6 to 8 minutes.
3. Add the minced garlic, cumin, smoked paprika, oregano and the optional minced chipotle or chipotle powder. Cook for about 30 seconds to bloom the spices and smell that smokiness.
4. Pour in the diced tomatoes with their juices and the broth, then add the cooked or canned pinto beans and the bay leaf. Bring up to a gentle simmer.
5. Let the soup simmer uncovered for 20 to 25 minutes so flavors marry and the broth reduces a little. Stir occasionally so nothing sticks to the bottom.
6. Remove the bay leaf. Use a potato masher or the back of a spoon to mash about half the beans against the side of the pot so they break down and thicken the broth; if you want it extra creamy, pulse an immersion blender 2 or 3 times, but dont over blend to a puree.
7. Taste and add 1 to 1 1/2 teaspoons salt and 1/2 teaspoon black pepper, then adjust as needed. If it tastes flat, add the tablespoon of lime juice or apple cider vinegar to brighten everything up.
8. Simmer another 5 minutes after seasoning so the acids settle into the soup. If it seems too thick add a little more broth or water to reach about 1 cup serving consistency.
9. Stir in most of the chopped cilantro or parsley, saving a little for garnish. Serve hot with lots of ground black pepper if you like extra bite.
10. Ladle into bowls, sprinkle the remaining herbs on top and bring out crusty bread for dunking. Leftovers keep well in the fridge for 3 to 4 days and taste even better the next day.
Equipment Needed
1. Large heavy pot or Dutch oven for cooking the soup and simmering the beans
2. Colander or fine mesh sieve to drain soaked or canned beans
3. Cutting board and a sharp chef knife for chopping onion, carrot, celery and herbs
4. Measuring cups and spoons for beans, broth, spices and lime juice
5. Wooden spoon or heatproof spatula to stir so nothing sticks to the bottom
6. Potato masher (or the back of a sturdy spoon) to smash about half the beans for body
7. Immersion blender (optional) to make the soup a bit creamier, pulse 2 or 3 times only
8. Ladle and soup bowls for serving
9. Can opener and a small bowl for holding minced chipotle or soaking bits if using canned beans
FAQ
Pinto Bean Soup Recipe Substitutions and Variations
- For the pinto beans: use 1 cup dried or 2 cans of black beans or navy beans instead. Texture and flavor will be a bit different but still hearty, and if using dried adjust cook time the same way.
- Instead of chicken or veg broth: use water plus 1 bouillon cube or 1 teaspoon bouillon paste, or even a cup of watered-down beer for extra depth. Taste and salt as you go.
- Swap ground cumin or smoked paprika: use 1 teaspoon chili powder or 1/2 teaspoon ground coriander plus a pinch of smoked salt if you want that smoky edge.
- In place of lime juice or apple cider vinegar: use lemon juice, a splash of red wine vinegar, or 1 teaspoon white vinegar. They all brightens the soup, just add little by little.
Pro Tips
1. If using dried beans, save some of the cooking liquid and add a cup or two back into the soup instead of plain broth for extra bean flavor and silkier texture. If you used canned beans, rinse, then mash a few for thickness.
2. Bloom the spices in the oil longer than you think, until they smell fragrant and the oil looks glossy. That little step makes the cumin and smoked paprika pop and prevents bitter raw spice notes.
3. Don’t overblend. Smash about half the beans by hand to thicken, then only give 2 or 3 short pulses with an immersion blender if you want creamier body. Overpureeing will make it gluey.
4. Brightness and balance at the end: always add the acid slowly, taste, then finish with fresh herbs and lots of black pepper. A little extra acid can rescue a flat soup, but too much will mute other flavors.

Pinto Bean Soup Recipe
I just made a Creamy Pinto Bean Soup where the beans melt into a smoky, herb-studded tomato broth so outrageously rich you’ll only want crusty bread to sop up every last spoonful.
4
servings
300
kcal
Equipment: 1. Large heavy pot or Dutch oven for cooking the soup and simmering the beans
2. Colander or fine mesh sieve to drain soaked or canned beans
3. Cutting board and a sharp chef knife for chopping onion, carrot, celery and herbs
4. Measuring cups and spoons for beans, broth, spices and lime juice
5. Wooden spoon or heatproof spatula to stir so nothing sticks to the bottom
6. Potato masher (or the back of a sturdy spoon) to smash about half the beans for body
7. Immersion blender (optional) to make the soup a bit creamier, pulse 2 or 3 times only
8. Ladle and soup bowls for serving
9. Can opener and a small bowl for holding minced chipotle or soaking bits if using canned beans
Ingredients
1 cup (200 g) dried pinto beans, soaked overnight and drained, or 2 cans (15 oz / 425 g each) pinto beans, drained and rinsed
1 tablespoon olive oil
1 medium yellow onion, finely chopped (about 1 cup)
3 cloves garlic, minced
1 large carrot, diced
1 celery stalk, diced
1 can (14 to 15 oz / 400 g) diced tomatoes, with juices
4 cups (1 litre) low sodium chicken or vegetable broth
1 teaspoon ground cumin
1 teaspoon smoked paprika
1/2 teaspoon dried oregano
1 bay leaf
Salt, 1 to 1 1/2 teaspoons, to taste
Black pepper, 1/2 teaspoon, plus more if needed
1 tablespoon lime juice or apple cider vinegar, to brighten
Fresh cilantro or parsley, 1/4 cup chopped, for serving
Optional: 1 small chipotle in adobo, minced, or 1/4 teaspoon chipotle powder for extra smokiness
Crusty bread, for dunking (not required in soup but you'll want it)
Directions
- If using dried pinto beans, drain the overnight soaked beans and put them in a pot with fresh water to cover by about 2 inches; bring to a boil, reduce heat and simmer until tender, about 1 to 1 1/4 hours, then drain. If using canned beans skip this and just drain and rinse them.
- Heat the olive oil in a large pot over medium heat. Add the chopped onion, carrot and celery and a pinch of salt. Cook, stirring now and then, until the veggies are soft and the onion is translucent, about 6 to 8 minutes.
- Add the minced garlic, cumin, smoked paprika, oregano and the optional minced chipotle or chipotle powder. Cook for about 30 seconds to bloom the spices and smell that smokiness.
- Pour in the diced tomatoes with their juices and the broth, then add the cooked or canned pinto beans and the bay leaf. Bring up to a gentle simmer.
- Let the soup simmer uncovered for 20 to 25 minutes so flavors marry and the broth reduces a little. Stir occasionally so nothing sticks to the bottom.
- Remove the bay leaf. Use a potato masher or the back of a spoon to mash about half the beans against the side of the pot so they break down and thicken the broth; if you want it extra creamy, pulse an immersion blender 2 or 3 times, but dont over blend to a puree.
- Taste and add 1 to 1 1/2 teaspoons salt and 1/2 teaspoon black pepper, then adjust as needed. If it tastes flat, add the tablespoon of lime juice or apple cider vinegar to brighten everything up.
- Simmer another 5 minutes after seasoning so the acids settle into the soup. If it seems too thick add a little more broth or water to reach about 1 cup serving consistency.
- Stir in most of the chopped cilantro or parsley, saving a little for garnish. Serve hot with lots of ground black pepper if you like extra bite.
- Ladle into bowls, sprinkle the remaining herbs on top and bring out crusty bread for dunking. Leftovers keep well in the fridge for 3 to 4 days and taste even better the next day.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 635g
- Total number of serves: 4
- Calories: 300kcal
- Fat: 4.5g
- Saturated Fat: 1.2g
- Trans Fat: 0g
- Polyunsaturated: 1.2g
- Monounsaturated: 2.1g
- Cholesterol: 0mg
- Sodium: 480mg
- Potassium: 900mg
- Carbohydrates: 48g
- Fiber: 12g
- Sugar: 6g
- Protein: 16g
- Vitamin A: 2200IU
- Vitamin C: 6mg
- Calcium: 110mg
- Iron: 3.5mg









