Prepare the vegetables. Remove the leaves and thick stem from the cauliflower, then cut it into evenly sized florets. Dice the onion and mince the garlic. Grate the cheddar cheese and set it aside so it is ready to add later.
Sauté the onion and garlic. Melt the butter in a large pot over medium heat. Add the diced onion and cook for 4 to 5 minutes, stirring occasionally, until softened and translucent. Add the minced garlic and cook for another 30 seconds until fragrant.
Add the cauliflower. Stir in the cauliflower florets and paprika. Cook for 2 minutes, allowing the cauliflower to absorb some of the butter and aromatic flavors.
Make the soup base. Sprinkle the flour over the vegetables and stir continuously for about 1 minute. Gradually pour in the vegetable broth, stirring well to prevent lumps. Bring the mixture to a gentle boil, then reduce the heat.
Simmer until tender. Cover partially and simmer for 15 to 20 minutes, or until the cauliflower is completely tender when pierced with a fork. Stir occasionally to prevent the vegetables from sticking to the bottom of the pot.
Blend until smooth. Remove the pot from the heat briefly. Use an immersion blender to puree the soup until smooth, or leave a few small cauliflower pieces if you prefer a little texture. If using a countertop blender, work in batches and follow the manufacturer's instructions for blending hot liquids.
Add the milk and cream. Return the pot to low heat. Stir in the milk, heavy cream, Dijon mustard, salt, and black pepper. Warm gently for 2 to 3 minutes without allowing the soup to boil vigorously.
Melt in the cheddar. Add the grated cheddar a handful at a time, stirring after each addition until melted and smooth. Keep the heat low to help prevent the cheese from becoming grainy. Stir in the lemon juice and adjust the seasoning to taste.
Garnish and serve. Ladle the soup into bowls and top with chopped fresh chives, a little extra grated cheddar, or freshly ground black pepper. Serve warm with crusty bread or your favorite side dish.