Heat a large pot over medium heat and add the olive oil. Once shimmering, add the chopped onion and cook until translucent—about 5 minutes—until it fills the kitchen with a sweet aroma.
Add the minced garlic to the pot and cook for another 30 seconds, stirring constantly until fragrant and slightly golden, filling the air with a rich aroma.
Pour in the diced tomatoes along with their juice, stirring to combine and letting the mixture simmer for 3 minutes to deepen the flavors.
Add the rinsed black beans, pinto beans, and corn kernels to the pot. Stir everything together so the ingredients are evenly mixed and coated with the tomato juices.
Pour in the vegetable broth, then sprinkle in the cumin and chili powder. Stir well, bringing the mixture to a gentle boil.
Lower the heat to a simmer, and let the soup cook uncovered for about 20 minutes, stirring occasionally. It will darken slightly and develop a fragrant, spicy aroma.
Taste the soup and season with salt and pepper as needed, adjusting the seasoning for a balanced flavor profile.
Once the flavors meld and the soup is thickened to your liking, turn off the heat and ladle into bowls.
Garnish each bowl with freshly chopped cilantro for a burst of fresh flavor and vibrant color.
Serve hot with your favorite tortilla chips or bread on the side, and enjoy this hearty, comforting taco soup.