Melt butter in a Dutch oven (or similar sized pot) over medium heat.
6 tablespoons butter
Stir in onions, and cook until onions are translucent.
1 cup finely chopped yellow or white onion
Add garlic and dry mustard. Cook, stirring the entire time, until fragrant, about 30 seconds.
2 cloves garlic, ½ teaspoon dry mustard
Stir in flour, and cook for 1 minute, stirring regularly.
½ cup all-purpose flour
Stream in chicken broth while whisking to combine.
2 cups chicken broth
Add milk and broccoli, and stir to combine.
3 ½ cups milk*, 3 cups broccoli florets**
Bring just to beginning to boil, and then reduce heat to medium-low.
Let soup cook until soup has thickened and broccoli is tender, about 10 minutes, stirring frequently.
Remove from heat, and stir in cream, cheddar cheese, and parmesan cheese.
¼ cup heavy cream, 1 ¼ cups shredded sharp cheddar cheese, ¼ cup grated parmesan cheese
Season to taste with salt and pepper.
Salt and pepper to taste
Notes
*I like to use 2% milk for this recipe. Whole milk will give you a richer, thicker soup. Skim will give you a thinner, less rich soup. **I chop up the florets so that they're pretty small to avoid large chunks of broccoli in the soup.***Nutrition values are estimates.