In a Dutch oven over medium heat, add butter. When melted and it starts sizzling, add onions, sprinkle on salt and sauté them for 2 minutes.
Add celery and carrots. Sauté until the vegetables are tender, about 5 minutes.
Add pressed garlic and sauté for 1 minute before adding Dijon mustard; stir to coat the vegetables.
Add all-purpose flour, stir well and cook for 1 minute.
Pour in half-and-half and stir very well, scraping the bottom of the pot. Stir in low-sodium chicken broth.
Add cauliflower and season with dried thyme leaves, freshly ground black pepper and cayenne pepper. Stir until well mixed and bring the mixture to a boil. Cover, reduce the heat to medium-low and cook for 15 minutes.
Remove the lid, give a good stir and cook for another 15 minutes or until the cauliflower is soft.
Using an immersion blender, process until somewhat smooth, leaving small chunks.
When desired consistency is reached, add cheese by the handful and stir very well between each addition until it’s all melted – don’t let the soup boil otherwise the cheese will break down.
Taste and adjust if necessary before serving the soup in warm bowls. Garnish with cooked bacon, homemade croutons and fresh chopped parsley.