Heat the olive oil in a large pot or Dutch oven over medium-high heat. Add the chicken pieces and cook until lightly browned on all sides, about 5 minutes. You do not need to cook them through.
Add the chopped onion to the pot and cook until softened, about 3 minutes. Stir in the minced garlic, taco seasoning, cumin, and chili powder. Cook for 1 minute until fragrant.
Pour in the chicken broth, undrained diced tomatoes with green chilies, black beans, kidney beans, and corn. Bring the mixture to a simmer.
Reduce the heat to medium-low, cover, and cook for 10 minutes, allowing the flavors to meld.
Remove the lid. Add the cubed cream cheese to the soup. Stir constantly until the cream cheese has completely melted and the soup is creamy.
Shred the chicken directly in the pot using two forks, or remove the chicken, shred it, and return it to the pot.
Taste the soup and add salt and pepper as needed. Serve hot with your preferred toppings.
Notes
For a slow cooker version, combine all ingredients except the cream cheese in the slow cooker. Cook on low for 6-8 hours or high for 3-4 hours. Stir in the cream cheese during the last 30 minutes of cooking until melted.
If you prefer a spicier soup, add 1/4 teaspoon of cayenne pepper with the other spices.
Use pre-cooked shredded chicken to save time; add it with the broth and simmer until heated through.