Heat 2 tablespoons olive oil in a large pot over medium heat. Add 1 medium onion (chopped), 1 red bell pepper (diced), and 2 medium carrots (chopped). Cook for 5 minutes, stirring occasionally, until they start to soften.
Stir in 3 cloves garlic (grated), 2 tablespoons tomato paste, 2 teaspoons smoked paprika, 1 teaspoon ground cumin, ½ teaspoon dried oregano, ¼ teaspoon red pepper flakes, 1 teaspoon salt, and ¼ teaspoon black pepper. Cook for 1 minute, stirring often, until fragrant.
Stir in 1 can crushed tomatoes, 4 cups vegetable broth, 1 can black beans, 1 can kidney beans, 1 can pinto beans (all drained and rinsed), and 12 ounces potatoes (diced). Bring to a boil, then lower the heat and simmer partially covered for 20 minutes, or until the potatoes are tender when pierced with a fork.
Stir in 1 cup corn and simmer for 5 more minutes. Turn off the heat and stir in 1½ tablespoons balsamic vinegar or lime juice. Taste and add more salt if needed, then serve warm with your favorite toppings.
