Heat olive oil in large saucepan over medium. Add carrots, celery, onion and garlic, and cook, stirring often, until softened, about 5 minutes.
Add cilantro, cumin, paprika, chili powder, salt and pepper, and cook, stirring constantly, for 30 seconds. Add flour and cook, stirring often, until flour is golden, about 1 minute. Stir in tomatoes, and bring to a simmer.
Stir in cream until combined. Stir in chicken stock and bring to a boil.
Remove from heat and, using a handheld immersion blender, process until smooth or desired consistency is reached.
Return to medium heat, and stir in chicken and corn. Simmer until chicken is heated through and corn is tender, about 15 minutes. Serve with toppings of your choice.