Pour water to a depth of 1 inch into a large pot and bring to a boil over high heat. Add 1 Tbs. of salt and the cauliflower, cover the pot, reduce the heat to med-high, and let simmer until the cauliflower is tender. (about 7-9 minutes). Drain the cauliflower and set it aside.
Melt the butter in the same pot over medium heat. Add the onion and cook, stirring frequently, until tender but not browned. (about 4 minutes) Add the garlic and cook until the garlic starts to turn golden and becomes fragrant. (1-2 minutes) Whisk in the flour and thyme or nutmeg and cook, whisking, until the flour starts to color, about 3 minutes.
Gradually whisk in the broth, dijon mustard, and whatever spicy ingredient you are using. Let come to a simmer and cook until the liquid thickens slightly, about 5 minutes, then stir in the cook cauliflower. (the only change I made here is that I pureed the cauliflower in my blender BEFORE I added it to the pot – she does it in the next step, but I’m just saying what I did)
At this point, you can transfer the soup to a blender or food processor (working in batches if necessary) and puree it or, better yet, use an immersion blender (this is what I used in this step) to puree right in the pot until smooth. Make the soup as smooth or chunky as you want. (I liked mine smooth!)
Return the soup to the pot if necessary and reheat it over med-high heat. Add the cream or milk, and the cheddar cheese and stir until the cheese is melted and everything is hot, about 3 minutes. Don’t let the soup come to a boil or it might separate. Taste for seasoning, adding more salt or pepper to taste. (I added a little tiny bit of garlic powder here, just to get that garlic flavor a little higher).