Place corn, potatoes, onion, and broth in a large pot over medium-low heat. Bring to a boil, then reduce the heat to medium-low and cook covered for 15-20 minutes, or until the potatoes are tender.
Stir in butter, brandy, and heavy cream. Mix to combine and simmer for 2 - 3 minutes. Turn the heat off.
Allow soup to cool slightly, then transfer mixture to a blender or food processor; cover and puree in batches until smooth. Alternatively, you can use an immersion blender to blend until smooth. NOTE: if the soup is too thick to your taste, you can add hot water or milk to reach the desired consistency.
OPTIONAL: For a thin and extra smooth texture, place a fine sieve over a medium-size bowl and strain the mixture, pressing on solids with the back of a spoon. Discard solids.
Return the soup to the pot. Taste and adjust seasoning, adding sugar, salt, and/or black pepper to your liking.
Serve immediately topped with crisp bacon and sliced green onions, if desired.