This Mexican-inspired pinto bean soup is creamy, packed with flavor, and hearty enough for a meal! Bonus: it's super easy to make and cooks up in one pot in about 35 minutes, making it perfect for weeknight dinners.
Coat the bottom of a large pot with olive oil and place it over medium heat.
When the oil is hot, add the onion. Cook, stirring frequently, until soft and translucent, about 5 minutes.
Stir in the garlic, cumin, smoked paprika, oregano, and ancho chile powder. Cook everything for about 1 minute, stirring constantly, until very fragrant.
Stir in the broth, beans and tomatoes. Raise the heat and bring the liquid to a boil.
Lower the heat and allow the soup to simmer for about 20 minutes, stirring occasionally. Add a bit of water if the liquid reduces too much.
Remove the pot from the heat. Use an immersion blender to blend about half of the soup (or get it as smooth or chunky as you like). Alternatively, transfer the soup in batches to a blender or food processor, blend, and return it to the pot. (See Note.)
Thin the soup with water or additional broth if desired, then place it back on the burner for a few minutes to heat back up if needed.
Stir in the lime juice and season the soup with salt and pepper to taste.
Divide into bowls and top with toppings of choice. Serve.
You can blend more than half (or even all) of the soup if you prefer it creamier. Blend less than half for a brothier soup.