Heat 2 tablespoons of olive oil in a large pot or Dutch oven over medium heat. Add the chopped onion and cook until softened, about 5 minutes.
Add the minced garlic, cumin, chili powder, oregano, smoked paprika, and cayenne pepper (if using). Cook for 1 minute until fragrant.
Stir in the fire-roasted tomatoes (with juice), black beans, corn, and chicken broth. Bring the mixture to a simmer.
Add the shredded chicken to the pot. Reduce heat to low, cover, and let the soup simmer for 10 minutes to allow flavors to combine.
Stir in the heavy cream or half-and-half. Heat through gently; do not boil after adding cream. Taste and adjust seasoning with salt and pepper.
While the soup simmers, prepare the tortilla strips: Heat 1 cup of vegetable oil in a small skillet over medium-high heat until shimmering.
Carefully add the tortilla strips in a single layer (work in batches if necessary). Fry for 1-2 minutes per side until golden brown and crisp. Remove with a slotted spoon and drain on a paper towel-lined plate. Sprinkle lightly with salt.
Ladle the soup into bowls. Top each serving with crispy tortilla strips, shredded cheese, avocado, and cilantro. Serve immediately with lime wedges.
Notes
For a slow cooker version, combine all soup ingredients (except cream and tortilla strips) in the slow cooker. Cook on low for 6-8 hours or high for 3-4 hours. Stir in the cream before serving.
If you are interested in structured eating, consider how this recipe fits into your overall meal planning goals.
To make this recipe faster, you can skip frying the strips and bake or air-fry them instead, or simply use store-bought tortilla chips.