5 1/2 Tbsp butter , divided
1 1/3 cups chopped carrots (about 3)
1 cup chopped celery (2 stalks)
1 cup chopped yellow onion (1 small)
2 cloves garlic , minced
3 cups low-sodium chicken broth
3 1/2 cups peeled and cubed russet potatoes , cut 1/2-inch to 3/4-inch thick (2 large)
3 cups chopped broccoli florets (from about 2 heads)
1/4 tsp dried thyme
Salt and freshly ground black pepper
6 Tbsp all-purpose flour
3 cups milk (preferably 1% or 2%)
1/2 cup heavy cream
2 cups shredded sharp cheddar cheese (8 oz)
1/3 cup finely shredded parmesan cheese (1 oz)
In a large pot over medium heat, melt 1 1/2 Tbsp of the butter. Add carrots, celery and onion and saute 3 – 4 minutes. Add garlic and saute 30 seconds longer.
Stir in chicken broth, potatoes and thyme and season with salt and pepper to taste. Bring to a boil over medium-high heat, then reduce heat to medium, cover with lid and cook 15 minutes. Stir in broccoli and cook 5 minutes longer or until veggies are tender.
Meanwhile, melt remaining 4 Tbsp butter in a medium saucepan over medium heat. Stir in flour and cook, whisking constantly 1 minute. While whisking vigorously, slowly pour in milk (whisk well until no lumps remain).
Cook stirring constantly until mixture begins to thicken, stir in heavy cream. Remove from heat and once all veggies are tender pour into the soup and stir. Remove from heat and stir in cheddar and parmesan cheese until melted.