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.
This recipe is a keeper for an EASY and delicious soup. I used two cans of rinsed pinto beans, and one can of a can of mixed beans (black, kidney, pinto) for a bit more bean. I used 2 - 14 oz cans of diced tomatoes and gave them both a light rinse. I added a small dollop of better than bouillon (chicken) to the soup base. I also marinated chicken breasts in a taco seasoning marinade, and diced them up as an optional topper (more protein). Very good!
Really delicious and so easy! I cooked the pintos from dry and used that broth in the soup. Didn't have fresh tomatoes so used a can of cherry tomatoes. Served with cilantro, avocado, lime, sour cream (non-dairy), and crumbled tortilla chips.
Forgot I ran out of chipotles in adobe so I substituted harissa in - it was bAnGiN. Might keep doing it that way.

