Prep the Vegetables: Wash and chop all vegetables. Set aside the broccoli florets.
Sauté the Aromatics: In a large pot, melt the butter over medium heat. Add the chopped onion, garlic, carrots, and celery. Sauté until the vegetables are tender and the onions are translucent, about 5-7 minutes.
Add Broccoli and Herbs: Stir in the broccoli florets, thyme, and basil. Cook for another 2-3 minutes, allowing the flavors to meld.
Create the Base: Sprinkle the flour over the vegetables, stirring constantly to prevent lumps. Cook for 1-2 minutes to eliminate the raw flour taste.
Add Broth and Simmer: Gradually pour in the vegetable broth, stirring to combine. Bring the mixture to a boil, then reduce the heat and let it simmer for about 15 minutes, or until the broccoli is tender.
Blend the Soup: Use an immersion blender to purée the soup to your desired consistency. For a chunkier texture, blend only part of the soup, leaving some pieces of broccoli intact.
Add Dairy: Stir in the milk or cream, then slowly add the grated cheddar cheese, stirring constantly until the cheese is fully melted and the soup is smooth. Season with salt and freshly ground black pepper to taste.
Garnish and Serve: Ladle the soup into bowls, garnishing with fresh parsley.