In a large pot over medium heat, cook onion in oil until just beginning to brown.
Pour in broth and bring to a boil. Stir in cauliflower, bring to a boil again and cook until cauliflower is tender, 2 to 5 minutes.
Remove half of cauliflower mixture and puree in a blender or food processor until smooth. Return to pot with ham and cheese and cook until cheese is melted. Stir in potato flakes and heat through.