Heat olive oil in a large pot or Dutch oven over medium heat. Once hot, add the chopped onion and bell pepper, sautéing for about 5–7 minutes until they soften and turn translucent. Add the minced garlic and cook for another minute, stirring constantly until fragrant.
Stir in the tomato paste along with the chili powder, cumin, oregano, and cayenne pepper. Cook for about 1 minute to allow the spices to bloom, enhancing their aroma and deepening the flavor base.
Add the canned diced tomatoes with their juice and pour in the vegetable broth. Stir well, scraping the bottom of the pot to incorporate any caramelized bits. This helps build a rich, flavorful foundation for the soup.
Add the rinsed kidney beans and drained corn to the pot. Season generously with salt and freshly ground black pepper. Stir everything together to evenly distribute the ingredients.
Bring the soup to a gentle boil, then immediately lower the heat to a steady simmer. Cover the pot partially, leaving a slight opening for steam to escape, and cook for 20–30 minutes. This allows the flavors to meld and the broth to thicken slightly. For a creamier consistency, mash about ¼ cup of the beans against the side of the pot, stirring them back in to release natural starches.
Taste the soup and adjust the seasoning as needed — adding more salt, pepper, or cayenne for an extra spicy kick.
Ladle the hot soup into bowls and top with freshly chopped cilantro. For added flavor and texture, garnish with shredded cheese, a dollop of sour cream, or diced avocado. Serve immediately with warm bread, tortilla chips, or a squeeze of lime for a bright, zesty finish.