Line a rimmed baking sheet with aluminum foil. In a large bowl combine cauliflower and oil, stirring to combine.
Transfer the cauliflower to the baking sheet and bake until it is browned for 20 minutes. Remove from the oven and let cool.
Meanwhile, in a large Dutch oven pot, cook bacon over medium-high heat until crisp. Remove with a slotted spoon and let it cool. Crumble and set aside.
Add onions to the bacon fat and cook stirring often until tender, 5 minutes. Add roasted cauliflower, broth, thyme, salt, nutmeg and pepper. Cook stirring occasionally for about 15 minutes. Remove from heat and let cool.
In the container of a blender, puree soup, if necessary, in batches, until smooth, (the soup can be made a day ahead at this point and refrigerated overnight)Return to pan and add milk, cream, and cheese. Cook over medium heat until soup is heated through and cheese is melted.
Garnish with bacon, thyme, and cheese, if desired.
Substitutions and VariationsIt can also be made vegetarian by substituting chicken broth with vegetable broth.Furthermore, you can substitute the bacon with vegan bacon. However, add some extra virgin olive oil to work the onions. Perfect for your family and friends that have special dietary needs.Are you lactose intolerant? Do not worry; replace the milk and cream with vegetable broth. Parmesan cheese has very little lactose, about 0.1 grams per ounce, and thus can be enjoyed.Storing instructionsAfter completely cooling your soup, store it in an airtight glass container in the refrigerator for up to two days.You can also freeze any leftovers for up to three months.Bring the soup back to room temperature and warm up over low heat until it is warm.