Warming Tomato and Pinto Bean Soup
Updated January 27, 2026

- Ready In
- 35 min
- Rating
- Comments
- Read comments
Advertisement
Ingredients
3 tablespoons vegetable oil, such as avocado oil
½ white or yellow onion, diced
2 canned chipotle chiles in adobo, roughly chopped
2 garlic cloves, minced
1 teaspoon ground cumin
1 teaspoon dried oregano, preferably Mexican
Kosher salt, such as Diamond Crystal
2 (15-ounce) cans pinto beans, drained and rinsed (3 cups)
2 Roma tomatoes, diced
4 cups low-sodium vegetable or chicken broth
1 ripe Hass avocado, for serving
½ lime
Yogurt or Mexican crema, for serving
Tostadas or tortilla chips, for serving
Preparation
- Step 1
Add oil to a medium pot over medium heat. Once the oil is hot but not smoking, about 2 minutes, add the onion and chiles and cook, stirring occasionally, until the edges of the onion begin to change color, about 5 minutes.
- Step 2
Add the garlic, cumin, oregano and 1 teaspoon salt and cook, stirring frequently, until very fragrant, about 2 minutes. Add the beans, tomatoes and broth. Bring to a boil, reduce the heat to maintain a simmer and cook for 10 minutes, until tomatoes are falling apart.
- Step 3
Mash the beans and tomatoes with a masher or a wooden spoon, and simmer for 5 minutes more, stirring occasionally, until soup is slightly thickened. Taste for salt.
- Step 4
While the soup cooks, dice the avocado, squeeze the lime half over it and sprinkle with salt. Set aside until ready to serve.
- Step 5
To serve, ladle soup into bowls. Add a generous portion of diced avocado and top with a dollop of yogurt and a tostada if you wish.
Private Notes
Comments
I was living in Mexico City when I misread a recipe that called for 2 canned chipotle peppers and included two cans. This gringo impressed his Mexican guests with the heat in my caldo talpeño! I think it's a mistake to write the direction this way, and should be 2 chipotle peppers (canned) since it's clearly easy to misread.
If you have it, I have found that Mexican oregano is totally different in flavor than Mediterranean types. Makes a huge difference in a recipe like this and conversely is a big mistake if you inadvertently use the Mexican type in an Italian dish. (Sorry if this is common knowledge to more "seasoned" cooks.)
Super simple and delicious. I used a small can of chopped tomatoes instead of fresh tomatoes. Instead of chicken or vegetable broth, I used the broth from cooking my own pinto beans.
I saw one review that compared this to thin canned bean dip. That is accurate. I made it exactly as written and found it to be quite bland. I do think it could be a good base recipe for a quick weeknight meal adding additional seasonings and an acid to give it more flavor and depth.
This was great! It's going on my 'quick and easy soups' short list. I substituted a ton of things out of sheer desire not to go to the store. I added a pinch of epazote & a bay leaf with the other spices. I had no limes so I used a little ReaLime powder at the end of cooking. No avocados or crema so I used a bit of cottage cheese that had dried to the almost-consistency of a queso fresco, plus cilantro & tortilla chips. My husband even thought it had meat in it. Probably the chipotle smokiness.
Excellent soup, My spice-adverse daughter was able to handle the heat, but if I was making this for myself, I’d add another 1 or 2 chipotle peppers. I subbed dried beans (9 oz. or about 1 and a third cup) for canned and then used the cooking liquid to replace about 2 cups of broth. It’s March so I didn’t use fresh tomatoes and subbed with crushed tomatoes to taste. I also puréed it with a stick blender. (Same daughter doesn’t like chunks in her soup — got me.) As another commenter said, use Mexican oregano if at all possible.
