Heat the olive oil in a large Dutch oven or soup pot over medium heat. Add the chopped onion, carrots, and red pepper. Sprinkle lightly with salt. Cook, stirring occasionally, until the vegetable are soft, about 10 minutes.
Stir in the garlic, cumin and red pepper flakes and cook until fragrant, about 30 seconds.
Add the beans and the vegetable broth and bring to a simmer over medium-high heat.
Reduce heat as necessary to maintain a gentle simmer, and cook until the broth the beans are very tender, about 30 minutes.
Transfer about 4 cups of the soup to a stand blender, vent the lid and place a towel over the top, and blend until smooth. Do not fill your blender past the maximum fill line, and beware the steam that escapes from the top of the blender. It's very hot (that's why we don't cover the blender, it will cause the lid to blow off). You can also use an immersion blender to blend a portion of the soup.
Return the pureed soup to the pot, stir in lime juice and salt and pepper, to taste.
Serve with diced avocados, cilantro, tortilla chips, cheese, sour cream, etc . . .