There is a particular kind of late-autumn afternoon when the light goes flat and silver, and the only sensible answer is a pot of something green and warm. This soup begins with butter sighing in the pan and onions turning translucent, and by the time the cheddar melts into ribbons, the kitchen smells like a small, safe place.
Each ingredient has a job here. The broccoli brings a gentle bitterness that keeps the cream from feeling heavy; the sharp cheddar gives the soup its backbone and that faint tang at the back of the throat; the carrot is mostly for sweetness and a thread of orange in the green. Flour and butter thicken without fuss, and a splash of milk loosens everything into silk.
You will know it is ready not by the timer but by the sound: the pot goes quiet and thick, the bubbles slow and heavy at the edges, and a spoon dragged across the bottom leaves a trail that fills in slowly. Ladle it into warm bowls and let the steam curl up toward your face.
Why You'll Love This Recipe
About the Ingredients
4 tablespoons (56g) unsalted butter
Butter carries the aromatics and gives the roux its nutty scent. Salted butter works too, but then hold back on the added salt until the end.
1 medium yellow onion (about 1 cup / 150g), finely diced
Yellow onion melts into sweetness rather than asserting itself. If you only have shallots, use three and dice them just as fine.
1 medium carrot (about 1/2 cup / 60g), grated
The carrot sweetens the broth and lends a faint orange shimmer. Skip it if you like, or swap in a small parsnip for a more peppery note.
1/4 cup (30g) all-purpose flour
Flour is the thickener that keeps the soup from tasting like broccoli in milk. For a gluten-free pot, use an equal amount of fine white rice flour and whisk it well.
3 cups (720ml) low-sodium chicken or vegetable broth
Broth is the body of the soup, so choose one you would happily sip. Vegetable broth keeps it vegetarian; homemade stock makes it taste deeper.
2 cups (480ml) whole milk
Whole milk gives creaminess without the heaviness of cream. Two percent works, but add it slowly off the heat so it does not curdle.
5 cups (about 400g) broccoli florets and tender stems, chopped into small pieces
Small pieces cook evenly and mash into the soup. Buy heads with tight, dark-green buds and pale cut stems, and use the stems too, peeled.
2 1/2 cups (about 280g) sharp cheddar, freshly grated
Freshly grated cheddar melts smoothly; pre-shredded cheese is coated and turns grainy. Extra-sharp gives a sharper bite, mild cheddar a softer one.
1/2 teaspoon kosher salt, plus more to taste
Salt is added in stages because cheddar brings its own. Taste after the cheese goes in before adding more.
1/4 teaspoon freshly ground black pepper
Pepper cuts through the richness. White pepper is a quieter alternative if you want a smooth, speck-free surface.
A pinch of freshly grated nutmeg (optional)
A whisper of nutmeg rounds out the dairy without announcing itself. Ground nutmeg is fine, but use half the amount.
Tips & Tricks
- Do not boil after the cheese goes in. High heat makes dairy proteins tighten and separate, so keep the pot at a bare simmer and stir gently; the soup should look glossy, never curdled.
- Grate your own cheddar. Bagged shredded cheese is dusted with starch that resists melting and leaves a sandy texture; a box grater and two minutes solve it.
- Cook the flour taste out. Whisk the flour into the butter and let it bubble for a full minute before adding liquid, or the finished soup will taste faintly raw and pasty.
- Chop the broccoli small and evenly. Large florets stay crunchy while the base turns to mush; pieces no bigger than a thumbnail give you tenderness in every spoonful.
Pro Tips
Step-by-Step Instructions
1. Sweat the aromatics
Melt the butter in a heavy pot over medium heat (about 350F / 175C) and add the onion, carrot, salt, and pepper. Cook for 6 to 7 minutes, stirring, until the onion is translucent and soft and the carrots smell sweet rather than raw.
2. Build the roux
Sprinkle the flour over the vegetables and whisk constantly for 1 minute, until the flour smells toasted and the mixture pulls together into a pale paste. This step removes the raw flour taste.
3. Whisk in the broth
Pour in the broth in a slow stream, whisking constantly so no lumps form. Bring it to a gentle boil over medium-high heat (about 400F / 205C), then lower the heat and simmer for 5 minutes, until it thickens enough to coat a spoon.
4. Tenderize the broccoli
Add the chopped broccoli and simmer gently for 10 to 12 minutes, until the stems pierce easily with a knife and the florets have gone deep, soft green. Do not let it boil hard or the broccoli will fall apart into strings.
5. Mash to texture
Press the broccoli against the side of the pot with a potato masher, leaving some pieces whole for body. The soup should look creamy with small green flecks, not perfectly smooth.
6. Milk it in gently
Lower the heat to low (about 200F / 95C) and stir in the milk. Warm it for 3 to 4 minutes, stirring, until the surface steams and small bubbles gather at the edge, but do not let it come to a boil.
7. Melt the cheddar
Pull the pot off the heat and stir in the cheddar one handful at a time, plus the nutmeg, until each addition melts and the soup turns a soft, glossy orange-green. Taste and adjust salt.
8. Rest and serve
Let the soup stand 5 minutes off the heat; it will thicken slightly and the surface will calm. Ladle into warm bowls and finish with cracked pepper.
Delicious Variations
Smoked Cheddar Version
Swap half the sharp cheddar for smoked cheddar and add a pinch of smoked paprika for a campfire edge.
Broccoli Cauliflower Blend
Replace 2 cups of the broccoli with cauliflower florets for a milder, silkier pot that purees beautifully.
Bacon and Thyme
Render 4 slices of diced bacon first, use the fat in place of half the butter, and finish with fresh thyme leaves.
How to Store Broccoli Cheddar Soup
Refrigerator
Cool the soup uncovered for 30 minutes, then cover and refrigerate up to 4 days. It thickens when cold; loosen with a splash of milk when reheating.
Freezer
Freeze in portions for up to 2 months, but expect slight graininess from the dairy. Thaw overnight in the refrigerator and reheat gently, whisking in a little milk.
Reheating
Warm over low heat (about 200F / 95C), stirring often, and never let it boil. Add milk a tablespoon at a time if it looks thick.
Frequently Asked Questions
Q: Why did my broccoli cheddar soup turn grainy?
The cheese was likely added over too-high heat or the soup boiled after the dairy went in. Keep the pot at a bare simmer, pull it off the heat before adding cheddar, and stir in the cheese in small handfuls. Freshly grated cheese also melts far more smoothly than pre-shredded.
Q: Can I make broccoli cheddar soup without flour?
Yes. Omit the flour and butter roux and instead mash about a cup of the cooked broccoli with a fork, or blend a third of the soup, to thicken it naturally. A tablespoon of cornstarch slurried in cold broth also works if you want a thicker body.
Q: How do I make this soup taste more like Panera's?
Use extra-sharp cheddar, add the grated carrot, and mash only part of the broccoli so the soup stays brothy with visible florets. A pinch of dry mustard and a little extra salt at the end bring it closer to that familiar tang.
Q: Can I use frozen broccoli in this recipe?
Yes, and there is no need to thaw it first. Add frozen florets straight to the simmering broth and cook 2 to 3 minutes longer, since they release extra water; you may need to simmer a bit more to thicken.
Q: Is broccoli cheddar soup gluten free?
Not as written, because the roux uses wheat flour. Swap in fine white rice flour or cornstarch, whisk it well, and confirm your broth and cheddar are gluten free. The result is slightly less velvety but still rich.
Make this on a gray afternoon when the kitchen is the warmest room in the house, and let the pot come together slowly. Take your time, and taste as you go.
Broccoli Cheddar Soup
This creamy broccoli cheddar soup is velvety, sharp, and deeply comforting, made in one pot with real cheddar and tender broccoli florets.
🧂 Ingredients
- 4 tablespoons (56g) unsalted butter
- 1 medium yellow onion (about 1 cup / 150g), finely diced
- 1 medium carrot (about 1/2 cup / 60g), grated
- 1/4 cup (30g) all-purpose flour
- 3 cups (720ml) low-sodium chicken or vegetable broth
- 2 cups (480ml) whole milk
- 5 cups (about 400g) broccoli florets and tender stems, chopped into small pieces
- 2 1/2 cups (about 280g) sharp cheddar, freshly grated
- 1/2 teaspoon kosher salt, plus more to taste
- 1/4 teaspoon freshly ground black pepper
- A pinch of freshly grated nutmeg (optional)
📋 Instructions
- 1Sweat the aromatics — Melt the butter in a heavy pot over medium heat (about 350F / 175C) and add the onion, carrot, salt, and pepper. Cook for 6 to 7 minutes, stirring, until the onion is translucent and soft and the carrots smell sweet rather than raw.
- 2Build the roux — Sprinkle the flour over the vegetables and whisk constantly for 1 minute, until the flour smells toasted and the mixture pulls together into a pale paste. This step removes the raw flour taste.
- 3Whisk in the broth — Pour in the broth in a slow stream, whisking constantly so no lumps form. Bring it to a gentle boil over medium-high heat (about 400F / 205C), then lower the heat and simmer for 5 minutes, until it thickens enough to coat a spoon.
- 4Tenderize the broccoli — Add the chopped broccoli and simmer gently for 10 to 12 minutes, until the stems pierce easily with a knife and the florets have gone deep, soft green. Do not let it boil hard or the broccoli will fall apart into strings.
- 5Mash to texture — Press the broccoli against the side of the pot with a potato masher, leaving some pieces whole for body. The soup should look creamy with small green flecks, not perfectly smooth.
- 6Milk it in gently — Lower the heat to low (about 200F / 95C) and stir in the milk. Warm it for 3 to 4 minutes, stirring, until the surface steams and small bubbles gather at the edge, but do not let it come to a boil.
- 7Melt the cheddar — Pull the pot off the heat and stir in the cheddar one handful at a time, plus the nutmeg, until each addition melts and the soup turns a soft, glossy orange-green. Taste and adjust salt.
- 8Rest and serve — Let the soup stand 5 minutes off the heat; it will thicken slightly and the surface will calm. Ladle into warm bowls and finish with cracked pepper.