Melt butter in medium saucepan over medium high heat.
Add in onions and cook, stirring frequently until soft, about 3 minutes.
Add in garlic and flour, and cook for about 1 minute, stirring constantly.
While whisking, slowly pour in milk, chicken broth and broccoli.
Cook, stirring constantly until mixture begins to gently boil and thicken, then reduce heat to a simmer and allow to cook, stirring very frequently, until broccoli is tender, about 5 - 7 minutes.
Stir in cream. Remove from heat, stir in cheddar and parmesan cheese, mixing until melted.
Season with salt and pepper to taste. Serve warm with more cheddar if desired.
Recipe Source: Cooking Classy
*From about 2 heads of broccoli, use floret portion only. I began with about 1 lb broccoli crowns, chopped off majority of the stems, then chopped the florets into very small pieces about 1/4 - 1/2 inch.