In a large dutch oven or pot, cook the bacon over medium heat until crisp, about 5 to 6 minutes. Transfer bacon to a paper towel-lined plate, leave bacon grease in the pot.
Add chopped onion, 1 teaspoon salt, and ½ teaspoon pepper to the pot and cook, stirring frequently, until translucent, about 5 to 7 minutes. Stir in the garlic and cook for another 30 seconds.
Stir in 4 cups of water and half of the cauliflower florets and bring to a boil. Reduce the heat to medium-low and simmer for 10 minutes. Add remaining half of the cauliflower and simmer until tender, about 10 more minutes.
Working in batches, carefully transfer the soup to a blender and puree until smooth, 30 to 60 seconds. Return the soup to the pot and bring to a simmer over medium-high heat.
Whisk cornstarch with remaining water and then whisk into the soup and simmer for about 2 minutes.
Season with additional salt and pepper to taste. Add more water if need to achieve desired consistency. Add to bowls and top with shredded cheese, sour cream, chives, and bacon.
*You can easily make this a vegan cauliflower soup by leaving off the bacon, sour cream, and cheese. Garnish with herbs instead.