01 - Melt butter in a large pot or Dutch oven over medium heat. Add chopped onion and sauté for 3-4 minutes until translucent and fragrant. Stir in minced garlic and cook for 1 minute more until aromatic, being careful not to brown the garlic.
02 - Sprinkle flour into the pot and stir constantly for 2 minutes to cook out the raw flour taste. The mixture should form a thick paste and bubble gently without browning excessively, creating a proper roux base for thickening.
03 - Gradually whisk in vegetable broth, ensuring the roux dissolves completely without forming lumps. Add whole milk and heavy cream while continuing to whisk. Bring the mixture to a gentle bubble while stirring frequently.
04 - Add broccoli florets and diced carrots to the pot. Reduce heat to maintain a gentle simmer, cover partially, and cook for 15-18 minutes until vegetables are fork-tender. Stir occasionally to prevent sticking and ensure even cooking.
05 - Using an immersion blender, partially or fully puree the soup directly in the pot to achieve your preferred consistency. For a completely smooth texture, blend thoroughly; for a chunkier soup, leave some vegetable pieces intact. If using a countertop blender, work in batches and exercise caution with hot liquids.
06 - Reduce heat to low setting. Gradually stir in shredded cheddar cheese, adding it in handfuls and allowing each portion to melt before adding more. Add salt, black pepper, and ground nutmeg. Continue stirring until all cheese is incorporated and the soup becomes velvety smooth. Avoid bringing to a boil after cheese is added to prevent separation.
07 - Taste the soup and adjust seasoning with additional salt or pepper as needed. Ladle hot soup into bowls and garnish with extra shredded cheddar cheese and chopped fresh chives or parsley. Serve immediately while steaming hot.