I used to buy this soup in a bread bowl at least twice a month.
Then I made it at home once and realized I’d been overpaying for something I could whip up in 30 minutes with ingredients already in my fridge.
This version is thick, cheesy, and loaded with broccoli in every single spoonful. No bland, watery soup here.
Let’s get into it.
Why This Recipe Works
Most homemade versions turn out either too thin or oddly grainy once the cheese goes in.
The fix is simple: shred your own cheese, and add it low and slow at the end. Pre-shredded bags of cheese are coated in anti-clumping starch, and that’s exactly what makes soup turn grainy instead of silky.
I also blend part of the soup instead of all of it. That gives you a thick, creamy base while still leaving little bites of broccoli throughout. 🧀
What You’ll Need
For the soup:
| Ingredient | Amount |
|---|---|
| Unsalted butter | 4 tbsp |
| Yellow onion, diced | 1 medium |
| Garlic, minced | 3 cloves |
| All-purpose flour | 1/3 cup |
| Chicken broth (or vegetable broth) | 3 cups |
| Whole milk | 2 cups |
| Heavy cream | 1/2 cup |
| Broccoli florets, chopped small | 4 cups |
| Carrots, shredded | 1 cup |
| Sharp cheddar cheese, freshly shredded | 3 cups |
| Salt | 1 tsp, plus more to taste |
| Black pepper | 1/2 tsp |
| Ground nutmeg | 1/8 tsp |
I like sharp cheddar here because mild cheddar tends to disappear into the broth. You want that cheese flavor to actually stand out.
Tools You’ll Need
- Large pot or Dutch oven
- Whisk
- Wooden spoon
- Box grater (for shredding your own cheese)
- Immersion blender or regular blender
- Ladle
Pro Tips
1. Shred your own cheese, no exceptions. This is the single biggest thing that separates a smooth soup from a grainy one.
2. Add the cheese off the heat. Once your soup is done simmering, pull it off the burner before stirring in the cheese. Direct heat can cause it to separate.
3. Chop your broccoli small. Big florets take longer to cook and make the soup harder to eat with a spoon. Small pieces cook faster and blend into every bite.
4. Whisk your flour into the butter before adding liquid. This step (called a roux) is what thickens the whole soup. Skip it and you’ll end up with something closer to broccoli milk.
5. Don’t let it boil after the dairy goes in. Milk and cream can curdle at high heat. Keep it at a gentle simmer once you’ve added them.
Substitutions and Variations
- Lower carb: Swap the flour for 2 tbsp cornstarch mixed with a little cold water, added at the end instead of the beginning.
- Dairy-free: Use plant-based butter, oat milk, and a dairy-free cheddar shred. The texture won’t be identical, but it’s close.
- Vegetarian: Use vegetable broth instead of chicken broth. Everything else is already meat-free.
- Extra protein: Stir in 2 cups of shredded rotisserie chicken at the end.
- Spicy version: Add a pinch of cayenne or a few dashes of hot sauce for some heat.
- Bread bowl style: Serve it in a hollowed-out sourdough round for that classic bakery-cafe feel.
Make Ahead Tips
You can chop your broccoli, dice your onion, and shred your carrots and cheese up to 2 days ahead. Store them separately in the fridge so everything’s ready to go when you start cooking.
This soup also reheats well, which makes it a solid meal-prep option for the week.
How to Make It
- Melt the butter in a large pot over medium heat. Add the onion and cook for 4 to 5 minutes, until soft.
- Add the garlic and cook for 30 seconds, until fragrant.
- Sprinkle the flour over the onion and garlic. Whisk constantly for about 1 minute to cook off the raw flour taste.
- Slowly pour in the chicken broth, whisking the whole time to prevent lumps.
- Add the milk and heavy cream. Bring the mixture to a gentle simmer, stirring occasionally.
- Add the broccoli and carrots. Simmer for 12 to 15 minutes, until the broccoli is tender.
- Use an immersion blender to blend about half the soup, leaving plenty of broccoli pieces intact. If using a regular blender, transfer half the soup in batches, blend, then return it to the pot.
- Remove the pot from heat. Stir in the shredded cheddar a handful at a time, letting each addition melt before adding more.
- Season with salt, pepper, and nutmeg. Taste and adjust as needed.
- Ladle into bowls and serve hot.
Nutrition and Diet Notes
This is a rich, comfort-food soup, and the numbers reflect that. Here’s roughly what you’re working with per serving (soup makes about 6 servings):
- Calories: about 380
- Fat: about 27g
- Protein: about 15g
For a lighter version, swap the heavy cream for additional milk and use reduced-fat cheddar. It won’t be quite as thick, but it still tastes great.
What to Serve It With
- A slice of crusty sourdough or a warm baguette for dipping
- A simple side salad with a light vinaigrette to balance the richness
- Soft pretzels for dunking, if you want to lean into the cozy factor
Leftovers and Storage
Store leftovers in an airtight container in the fridge for up to 4 days.
Reheat gently on the stovetop over low heat, stirring often. Microwaving works too, just heat in short 30-second bursts so the cheese doesn’t separate.
This soup doesn’t freeze well because the dairy tends to separate once thawed. If you want a freezer-friendly version, leave out the cream and cheese, freeze the base, then add both fresh when you reheat it.
FAQ
Why is my soup grainy?
This almost always comes down to pre-shredded cheese or adding cheese over direct heat. Shred your own and stir it in off the burner.
Can I make this soup thicker?
Yes. Blend a larger portion of the soup, or mix an extra tablespoon of flour with a little cold water and stir it in during the last few minutes of simmering.
Can I use frozen broccoli?
You can, though fresh gives a better texture. If using frozen, no need to thaw first, just add a few extra minutes to the simmer time.
Is this soup spicy?
Not as written. It’s a mild, cheesy comfort soup, but you can easily add heat with cayenne or hot sauce.
Can I double this recipe?
Yes, this recipe doubles well. Just use a larger pot and give it a few extra minutes to come back to a simmer after adding the dairy.
Wrapping Up
This soup turned into one of those recipes I make on repeat, especially once the weather turns cold.
It’s rich without being heavy-handed, and it comes together faster than ordering delivery most nights.
If you make it, come back and tell me how it turned out. Did you add the carrots? Go spicy? Try the bread bowl? 🥣
I’d love to hear about it in the comments.