In a large soup pot or Dutch oven over medium heat, add the butter, onion, garlic, broccoli, cauliflower, carrots and salt and pepper. Stir occasionally for ~7-10 minutes or until vegetables are vibrant, fragrant and somewhat softened.
Add in the flour, basil and red pepper chili flakes if using. Stir for ~1 minute to coat veggies.
Add in the chicken broth and bring to a boil.
Cover, turn the heat down to low and simmer for 15 minutes.
Using an immersion blender, blend until smooth and creamy. Alternately, carefully transfer the hot soup to a blender and blend. Once blended, add in heavy cream and cheese. Stir until combined.
Serve warm and garnish with cheese and bacon if desired.