In a big pot over medium heat, melt the butter. Saute the onion until it becomes quite soft. Saute the garlic and Cajun seasoning for a further one to two minutes. Add flour and stir until onions are coated evenly.
About 1/4 cup of chicken broth should be added gradually, whisking continuously to maintain a smooth consistency.
Add the cauliflower and potato cubes after the liquid is fully combined. Once soup reaches a boiling point, lower heat to medium-low and cover. Simmer potatoes until they are soft, 10 to 15 minutes.
Carefully mix soup with a stick blender until it's smooth. (Alternatively, you can transfer the soup to a standard blender and puree it that way, but be cautious when transferring the extremely hot soup!) Return to a simmer after adding the cheese, sour cream, and half-and-half. Return the soup to a simmer after adding up to 1/2 cup of milk if it's too thick.
Garnish each plate with bacon and green onions, if preferred.