01 - Melt the butter in a large pot over medium heat. Add diced onion, carrot, and celery, sautéing for 4 to 5 minutes until tender.
02 - Stir in minced garlic and cook for 1 minute until fragrant.
03 - Sprinkle flour over vegetables, stirring constantly for 2 minutes to form a roux.
04 - Gradually whisk in vegetable broth to prevent lumps, then add broccoli florets and bring to a simmer.
05 - Cover and simmer for 10 to 12 minutes until broccoli is tender.
06 - Reduce heat to low and purée soup using an immersion blender or in batches with a standard blender until smooth or slightly chunky.
07 - Stir in whole milk, heavy cream, salt, black pepper, and optional nutmeg. Warm gently without boiling.
08 - Slowly add grated cheddar cheese, stirring until fully melted and soup achieves a creamy texture.
09 - Taste and adjust salt or pepper as desired. Serve warm.