Melt the butter in a Dutch oven over medium-high heat. Add the onion and garlic; cook, stirring, until they start softening, about 4 minutes. Add the cauliflower, bay leaf, rosemary, 1 teaspoon salt and a few grinds of pepper. Cook, stirring, until the cauliflower starts browning, 5 minutes. Stir in the flour until absorbed, about 1 minute. Add the chicken broth and milk; bring to a boil. Reduce the heat; simmer until the cauliflower is tender, 30 minutes. Remove the bay leaf.
Working in batches, transfer the soup to a blender and puree until smooth (or puree in the pot with an immersion blender). Return the soup to the pot over medium heat. Stir in the cheese until melted; add up to 1 cup water if the soup is too thick.
Add the sherry; season with salt and pepper. Sprinkle with nutmeg and serve with cheese straws.