Warm the olive oil and butter in a Dutch oven or large stockpot over medium heat.
Add the onion, carrot, and celery and cook, stirring occasionally, until softened somewhat, about 8 minutes.
Add the garlic and cook, stirring frequently, for 1-2 minutes, until fragrant.
Add the cauliflower and parsley, season lightly with salt and pepper, and stir. Add the stock, bring to a boil, and then reduce the heat so the soup simmers. Cook for about 15 minutes, or until the cauliflower is very tender when pierced with a fork.
Turn off the heat and stir in the half and half and sour cream. Puree the soup thoroughly with an immersion blender. Taste the soup and add additional salt and pepper if desired.
Serve hot, topped with shredded cheddar cheese, sour cream, and fresh chives.
Notes
This soup reheats well, so it makes a great packed lunch. Bring the garnishes in a separate container and add them after reheating the soup.