Melt butter in a large stock pot on medium heat. Add onions and saute until onions are translucent.
Sprinkle flour, salt, and pepper over onions and stir to allow the flour to cook for 1-2 minutes.
Slowly whisk in milk. Whisk until there aren't any lumps. Add chicken broth and stir.
Add broccoli and carrots.
Bring the pot to a boil then reduce heat to low and simmer for 20 minutes. Remove from heat.
Stir in sharp cheddar cheese and stir until melted.
For a chunky soup, serve as-is. For a creamier soup, use an immersion blender to pulse the soup a few times. You can also remove a cup or two of soup, blend it in a blender, then return it back into the pot of soup.
Video
Notes
This recipe makes 4 large bowls or 6 smaller portions. Serve with a crusty baguette like Panera bread. Store leftovers in the refrigerator up to 5 days. The soup reheats well in the microwave.