Begin by melting 6 tablespoons of butter in a large pot over medium-high heat.
Once melted, add in the onion, carrot, and celery; sauté for about 5 minutes or until vegetables are tender.
Add in the cauliflower and parsley to the pot, stirring occasionally for about 10 minutes.
Pour in the chicken broth or stock and bring to a boil. Once boiling, reduce heat and simmer for about 20 minutes or until the cauliflower is tender.
In a separate bowl, whisk together the all-purpose flour and whole milk until well combined. Then add this mixture to the soup pot, stirring until smooth.
Add in the half-and-half, salt (to taste), and the remaining 2 tablespoons of butter. Stir until all ingredients are blended together.
Simmer for an additional 10 minutes or until the soup has reached desired thickness.
Stir in the sour cream and adjust the seasoning as necessary with more salt if needed.
Serve with desired toppings.