½cupdiced onionI used sweet onion, but you can also use red onion
⅓cupall-purpose flour
2 ½cupschicken stock
2 ½cupsmilk
2cupsbroccoli florets
1cupshredded carrots
½cupcelerydiced
3cupsfreshly grated mild cheddar
Salt & Pepper to taste
Instructions
In a large stockpot or soup pot over medium heat, add 1 tablespoon of butter and the diced onion. Cook, stirring occasionally, until the onion is softened and translucent.
Add the 5 tablespoons of butter to the onion. Melt the butter completely.
Once melted, whisk in the flour continuously until a smooth paste (roux) forms and no dry flour remains.
Slowly pour in the chicken stock and the milk. Bring to a simmer and let it simmer for 15 minutes, stirring occasionally.
Add the broccoli, carrots, and celery. Mix and let it simmer for an additional 25 minutes or until the broccoli, carrots, and celery are tender to your liking. The temperature was set to medium-low.
After 25 minutes, add salt and pepper to taste and mix in the cheese. Turn the burner to low heat and cook until the cheese is completely melted.
Notes
Difference between chicken stock and chicken broth, and why did I choose chicken broth for this recipe?
Chicken stock and chicken broth are very similar, but they do have a few differences. Chicken stock is typically made by simmering bones, which gives it a richer flavor and a slightly fuller body because of the natural collagen.
Chicken broth is usually made more from meat and vegetables, creating a lighter flavor.
For this broccoli soup, chicken stock works really well because it adds extra depth and helps create that cozy, hearty texture without needing heavy cream. The stock gives the soup more flavor while still letting the broccoli and cheddar shine. If you only have broth on hand, it will still work perfectly fine. The soup may just taste a little lighter overall.
When people are making a roux, they usually use ¼ cup of butter and flour. Why do I use ⅓ cup of flour and 5 tablespoons of butter?
A classic roux is often made with equal parts butter and flour, but soups sometimes need a little flexibility depending on the final texture you want.
For this soup, I slightly increase the flour compared to the butter because:
Broccoli naturally releases moisture while cooking.
The cheese also changes its consistency as it melts.
The extra flour helps the soup stay thick and creamy without becoming overly greasy or heavy.
Using slightly less butter also keeps the soup rich without feeling oily on top. The result is a creamy cheddar broccoli soup that still feels balanced and easy to eat.
Why do I use milk instead of half and half or even cream?
Milk creates a creamy soup while keeping the texture lighter and smoother. Since this recipe already contains butter and a generous amount of cheddar cheese, using heavy cream or half-and-half can sometimes make the soup feel too rich or overly thick.
Milk also allows the flavor of the broccoli and cheddar to stand out instead of being masked by extra richness. It creates that classic cozy soup texture people expect from homemade broccoli cheddar soup without making it feel too heavy.
If you want an even richer version, you can absolutely substitute part of the milk with half-and-half. But for an everyday family-style soup, milk keeps it creamy, comforting, and balanced.
This recipe was calculated using the exact brands and measurements I used to make this recipe. If you are following a strict diet please note changing anything will cause the nutritional info to change. My calculations are intended as a guide only.