Heat the olive oil in a large pot over medium heat.
Add the diced onion and cook for 3 to 4 minutes until softened and translucent.
Add the minced garlic and cook for 30 seconds until fragrant.
Stir in the cumin, chili powder, smoked paprika, salt, and black pepper and cook for 30 seconds to bloom the spices.
Pour in the enchilada sauce and diced tomatoes with green chilies and stir to combine.
Add the chicken broth and bring the soup to a gentle simmer.
Stir in the shredded chicken, black beans, and corn.
Reduce the heat to medium-low and let the soup simmer for 10 minutes.
Add the cream cheese cubes to the pot and stir until fully melted and smooth.
Pour in the heavy cream and stir until the soup is creamy and evenly combined.
Simmer for an additional 5 minutes, stirring occasionally.
Taste and adjust salt if needed.
Remove from heat and stir in chopped cilantro if using.
Serve hot.