Creamy Broccoli Cheddar Soup
A velvety, comforting soup with tender broccoli and sharp cheddar cheese. Ready in under 30 minutes with minimal prep and maximum flavor.
- Total time
- 25 min
- Servings
- 4
- Calories
- 485
- Protein
- 22g

Ingredients
- 3 tablespoons unsalted butter
- 1 whole yellow onion, medium
- 2 whole celery stalks
- 3 whole garlic cloves
- 3 tablespoons all-purpose flour
- 4 cups low-sodium vegetable broth
- 1 cup whole milk
- 1.5 pounds fresh broccoli florets
- 2 cups sharp white cheddar cheese, shredded
- ½ teaspoon kosher salt
- ¼ teaspoon freshly ground black pepper
- 1 teaspoon fresh thyme leaves (optional)
Instructions
- 1
Dice 1 medium yellow onion into 1/4-inch pieces and slice 2 celery stalks into 1/4-inch half-moons — keeping both uniform ensures they soften at the same rate. Peel and mince 3 garlic cloves. Cut 1.5 pounds of fresh broccoli into small, bite-sized florets (roughly 1-inch pieces) — this size cooks quickly and integrates into the creamy base without becoming mushy.
- 2
Shred 2 cups of sharp white cheddar cheese on the large holes of a box grater if not already shredded — freshly shredded melts more smoothly than pre-shredded varieties, which contain anti-caking agents that can make the sauce grainy.
- 3
Set a heavy-bottomed 4-quart pot over medium heat. Add 3 tablespoons of unsalted butter and let it melt, about 1 minute. You should hear a gentle sizzle and smell the rich, toasted butter aroma.
- 4
Add the diced onion and celery to the melted butter and stir frequently with a wooden spoon. Sauté until the onion turns translucent and the celery softens, about 5-6 minutes. Watch for the onion edges to turn pale golden — this develops sweetness and flavor depth.
- 5
Add the minced garlic and stir constantly for 30 seconds until fragrant — you'll smell that sharp, pungent aroma when it's ready. Do not let it brown or it will taste bitter.
- 6
Sprinkle 3 tablespoons of all-purpose flour over the vegetables and stir continuously for 1-2 minutes. The mixture will look paste-like — this is your roux, and cooking out the raw flour taste is essential for a smooth, silky soup.
- 7
Slowly pour in 4 cups of low-sodium vegetable broth while whisking constantly to break up any lumps. This gradual incorporation prevents the roux from clumping. Once fully combined, increase the heat to medium-high and bring the mixture to a gentle simmer, stirring occasionally, about 5 minutes.
- 8
Add the broccoli florets to the simmering broth and stir to combine. Simmer for 8-10 minutes until the broccoli is completely tender — you should be able to easily pierce a floret with a fork. The florets will darken slightly and some edges may soften into the broth, which is perfect for creaminess.
- 9
Remove the pot from heat and pour in 1 cup of whole milk, stirring gently to combine. Let it cool for 1 minute — the residual heat will wilt it into the soup without curdling.
- 10
Add the shredded cheddar cheese in two additions, stirring slowly and continuously after each handful. Wait 30 seconds between additions to allow the first batch to fully melt before adding more — this ensures a smooth, glossy cheese sauce rather than a grainy one. The cheese will melt completely into the hot soup, about 2-3 minutes total.
- 11
Taste the soup and season with 0.5 teaspoon of kosher salt and 0.25 teaspoon of freshly ground black pepper. Start conservative — you can always add more, but you cannot take it out. Stir in 1 teaspoon of fresh thyme leaves if using.
- 12
Ladle the soup into bowls and serve immediately while hot. Top with a pinch of freshly ground black pepper, a few broccoli florets reserved from earlier if desired, or crispy croutons for texture contrast.
Tools you’ll need
- 4-quart heavy-bottomed pot
- wooden spoon
- whisk
- box grater
- ladle
- cutting board
- chef's knife
Cook smarter
Get matched recipes for what’s in your fridge
CookSnap is a free iOS app that finds real recipes from the ingredients you already have. No more grocery-list aspirations.