Heat the oil in a large lidded saucepan or Dutch oven set over a medium high heat. Fry the onions until soft but not yet starting to color with a pinch of salt. Stir in the minced garlic. Cook for a further minute, then add the cumin. Cook for a minute more.
Add the chicken broth, enchilada sauce, tomato sauce, black beans, corn and the cayenne pepper. Stir, then add the chicken breasts. Bring the soup to a simmer, then cook on medium with the lid on for 20 minutes.
Remove the chicken breasts and shred the meat with two forks.
Whisk in the cream cheese until melted into the soup and return the shredded chicken. Cook for a further 5 minutes until the chicken is heated through.
Season to taste with fresh lime juice and salt before serving with your choice of toppings.
