Prep your veggies. Cut the cauliflower into medium florets.
Dice the potato, onion, carrot, and celery. Mince the garlic. Keep the pieces similar in size so they cook evenly.
Load the slow cooker. Add cauliflower, potato, onion, carrot, celery, and garlic to the slow cooker.
Sprinkle in smoked paprika and ground mustard, if using. Season with a light pinch of salt and a few grinds of pepper.
Add liquids and fat. Pour in the broth and add the butter or olive oil. Stir to combine, but don’t worry if it’s crowded—everything will cook down.
Set and cook. Cover and cook on Low for 6 to 7 hours, or on High for 3 to 4 hours, until the cauliflower and potato are very tender and easily mash with a spoon.
Blend to creamy. Turn off the heat.
Use an immersion blender to puree the soup until smooth. For a chunkier texture, blend only 2/3 of it. No immersion blender?
Carefully ladle into a countertop blender in batches, venting the lid to release steam.
Stir in dairy. Add the milk or half-and-half and the cream cheese, if using. Stir until fully melted and silky. Turn the slow cooker to Warm.
Add the cheese last. Sprinkle in the shredded cheddar a handful at a time, stirring after each addition until melted. Don’t boil the soup after adding cheese or it can split and turn grainy.
Taste and adjust. Add more salt and pepper if needed.
If you like it a touch brighter, stir in a teaspoon of lemon juice or a few dashes of hot sauce.
Serve with toppings. Ladle into bowls and top with chives, bacon, extra cheddar, or crunchy croutons. A drizzle of olive oil is also nice.