Sauté the aromatics. Heat olive oil in a large pot over medium heat. Add onion and bell pepper. Cook 4–5 minutes until softened.
Stir in garlic and cook 30 seconds until fragrant.
Bloom the spices. Add chili powder, cumin, smoked paprika, and oregano. Stir for 30–60 seconds to wake up the flavors. If the pot looks dry, add a splash of broth to keep spices from burning.
Build the base. Pour in enchilada sauce, diced tomatoes, and chicken broth.
Stir in black beans, corn, and green chiles if using. Bring to a gentle boil, then reduce to a simmer.
Add the chicken. Stir in shredded chicken. Simmer 10–15 minutes to let the flavors come together.
Taste and season with salt and pepper as needed.
Make it creamy. Lower the heat. Stir in heavy cream (or softened cream cheese in small pieces). Let it melt and blend into the soup.
Do not boil after adding dairy.
Add the cheese. Sprinkle in the shredded cheese a handful at a time, stirring until smooth. The soup should be slightly thick and silky.
Finish with acidity. Stir in lime juice. Taste again and adjust salt, pepper, or chili powder to your liking.
Serve with toppings. Ladle into bowls and top with tortilla strips, cilantro, extra cheese, avocado, sour cream, and jalapeño, as desired.