Heat the water (or oil, if preferred) in a soup pot or large dutch oven over medium heat. Stir in the onions and garlic, with a pinch of sea salt and pepper. Cook, stirring occasionally, until the onions are translucent.
Stir in the jalapeño, carrot, red bell pepper, cumin, chili powder and red pepper flakes. Cook until vegetable are soft, about 7-9 minutes.
Pour in the beans, corn and broth. Bring to a slow boil over medium-high heat then reduce to a gentle simmer. Cook until the beans are soft and the broth has lots of flavor, about 20 minutes. Turn off heat.
Using a hand immersion blender, blend about half of the soup, still leaving whole beans in tact. Blend more for a smoother texture or less for a chunkier texture, depending on preference (this step is optional; you can also blend half in a regular blender, making sure to let out the steam, to prevent a soup explosion as it gets very hot. Pour it back into the soup pot).
Stir in lime juice and cilantro and taste test to see if it needs more salt or pepper. Adjust accordingly.
Serve with your favorite toppings!
Optional add-ins: Chopped cooked chicken breast, brown rice, or quinoa.