In a large pot or Dutch oven, melt the butter over medium-high heat.
Add the onions and sauté for about 5 minutes, or until tender.
Add the garlic and cook an additional 2-3 minutes.
Add the wine, chicken broth, corn, cubed potatoes, salt, pepper and sugar. Stir with a wooden spoon and scrape the bottom of the pan to get all of that delicious onion and garlic flavor!
Bring the soup to a boil then turn the heat down to medium and let cook for 20 minutes, stirring occasionally. (The mixture is ready for the next step when the potatoes are tender.)
OPTIONAL: Pour half of the mixture into a blender or food processor and mix until smooth. I find that this adds more creaminess to the soup and increases the corn flavor! You can also use a handheld immersion blender, if you've got one. Add all of the soup back to the pot.
Turn the heat to low and stir in the bacon, half and half and cream cheese.
Stir until the cream cheese is melted.
Enjoy!!