Melt the butter in a large pot over medium heat.
Add the onion and cook for about 2–3 minutes, just until it softens up a bit.
Whisk in the flour, stirring for about a minute or two so it cooks through but doesn’t turn brown.
This step thickens your soup.
Slowly pour in the chicken broth while whisking to keep things smooth.
Add the milk and heavy cream next.
Let the mixture come to a gentle simmer.
Toss in the broccoli florets and shredded carrots.
Simmer uncovered on medium-low for about 15–20 minutes, until the broccoli turns tender.
Turn the heat down to low.
Stir in the cheddar cheese a little at a time, mixing until it melts and the soup gets nice and creamy.
Season with salt and pepper to taste.
If you want a smoother soup, use an immersion blender to blend as much as you’d like.
I usually blend about half for a mix of creamy soup and broccoli pieces.
Serve hot with crusty bread or your favorite crackers!