Prepare the vegetables. Clean the cauliflower and cut into florets roughly the same size. Dice the onion and mince the garlic – keeping pieces relatively uniform ensures even cooking.
Add vegetables to the slow cooker. Place the cauliflower florets, diced onion, and minced garlic in the slow cooker insert.
Pour in the broth and add seasonings. Add the vegetable or chicken broth, dried thyme, smoked paprika, nutmeg, and a generous pinch of salt and pepper. Stir to combine.
Add the butter. Place the butter on top of the mixture where it will melt and distribute throughout the cooking process.
Cover and cook. Set your slow cooker to low for 7-8 hours or high for 4-5 hours. The cauliflower should be very tender when pierced with a fork.
Blend the soup until smooth. Using an immersion blender, puree the soup directly in the slow cooker until completely smooth. If using a standard blender, work in batches and be careful with the hot liquid (never fill more than halfway).
Stir in the milk. Add the milk or half-and-half and stir until fully incorporated. Let the soup heat through for another 10 minutes.
Add the cheese. Reduce the heat to warm, then gradually add the grated cheddar cheese, stirring continuously until fully melted and incorporated. Taste and adjust seasonings if needed.
Serve hot with garnishes. Ladle the soup into bowls and top with extra grated cheese and chopped chives or green onions.