In a large, heavy pot over medium-high heat, cook bacon until fat renders and meat starts to brown. Add onion, reduce heat to medium, and cook until soft, about 3 minutes. Sprinkle with flour and cook, stirring, until flour smells cooked (you should get a whiff of baked piecrust) but hasn't started to brown, about 3 minutes.
Add potatoes and broth. Bring to a boil. Reduce heat to keep mixture simmering and cook until potatoes are barely tender, about 5 minutes. Add chicken and corn and bring to a boil. Reduce heat to low and stir in cream to taste. Heat through, about 2 minutes. Serve in soup bowls, garnished with tomatoes, avocado, cilantro, a squirt or two of lime juice, and pepper to taste.
Note: Nutritional analysis is per serving.