In large soup pot, heat olive oil over medium heat.
Cut bacon into small pieces and add to soup pot. Cook until crisp.
Remove bacon and drain on paper towel.
Drain all but 2-3 TBSP fat from pot.
Add onions to soup pot and cook for 5-10 minutes or until translucent.
Peal and small cube potatoes.
Add potatoes and chicken broth to soup pot, bring to a boil stirring often.
Reduce heat, cover, and simmer until potatoes are tender (20-30 minutes).
Once potatoes are tender, you may continue on to following steps, or, if desired, use a potato masher or emulsion blender to mash apart some of the potato cubes.
In small bowl, add flour to soft butter and stir together until well combined.
Once potatoes are tender (and mashed or not, your choice), increase heat, add milk, and stir in butter/flour mixture, stirring constantly as soup thickens.
Reduce heat back to a simmer and add corn, bacon, and grated cheddar cheese.
Continue to simmer until corn is tender.
Season to taste with additional salt and pepper if desired.
Optional toppings: bacon crumbles, chopped green onion, grated cheese, sour cream