Heat the oil in a large saucepan over medium heat. Add the onion and garlic; cook and stir until the onion is tender. Stir in the chili powder, cumin, and oregano; cook for 1 minute.
Pour in the vegetable broth and beans; bring to a boil. Reduce heat to low and simmer for 10 minutes.
Stir in the tomatoes with juice and cook for an additional 5 minutes.
Puree soup using an immersion blender or food processor until desired consistency is reached.