Heat olive oil in a large pot over medium heat. Add chopped onion and sauté for 3-4 minutes until softened.
Stir in minced garlic and all the spices. Cook for 1 minute until fragrant.
Pour in chicken broth, diced tomatoes, enchilada sauce, black beans, corn, and shredded chicken.
Bring soup to a boil, then reduce heat and simmer uncovered for 15-20 minutes.
Stir in heavy cream and shredded cheese. Cook for another 3-4 minutes, stirring occasionally, until cheese melts.
Taste and season with salt and pepper. Serve hot with your favorite toppings.