01 - Melt butter in a large pot over medium heat. Add diced onion, sliced carrots, and celery; cook, stirring occasionally, until softened, about 5 minutes.
02 - Add diced potatoes, cauliflower, and broccoli florets to the pot. Stir thoroughly to combine ingredients evenly.
03 - Pour in vegetable broth, then add dried thyme, parsley, ground black pepper, and salt. Increase heat to bring to a boil, then reduce to low and simmer uncovered for 20 minutes or until vegetables are tender.
04 - Remove pot from heat. Using an immersion blender, puree the mixture until smooth or leave slightly chunky as preferred.
05 - Stir in whole milk and heavy cream. Return pot to low heat, warming gently for 5 minutes without boiling.
06 - Taste the soup and modify salt or pepper to suit preference.
07 - Ladle soup into serving bowls, garnish with chopped fresh chives, and accompany with crusty bread if desired.