You’ve had broccoli soup before. You think you know what it tastes like.
You don’t. Not like this.
This cream of broccoli soup is the kind of thing that makes you quietly close your eyes after the first spoonful. It’s velvety, deeply savory, and has this rich, almost nutty flavor that you’d never expect from a vegetable you probably ignored as a kid.
It comes together in about 30 minutes. One pot. No fuss.
And once you make it from scratch, every canned version you’ve ever had will feel like a personal insult.
What You’ll Need
For the Soup:
- 1 large head of broccoli (about 5-6 cups of florets), cut into small pieces
- 3 tablespoons unsalted butter
- 1 medium yellow onion, diced
- 4 garlic cloves, minced
- 2 medium carrots, peeled and diced
- 2 stalks of celery, diced
- 3 cups vegetable broth (or chicken broth)
- 1 cup whole milk
- 1 cup heavy cream
- 1½ cups sharp cheddar cheese, freshly shredded
- 2 tablespoons all-purpose flour
- ½ teaspoon smoked paprika
- ¼ teaspoon ground nutmeg
- Salt and black pepper to taste
For Garnish (Optional but Highly Recommended):
- Extra shredded cheddar
- A drizzle of cream
- Croutons or crusty bread on the side
- Freshly cracked black pepper
Tools You’ll Need

- Large heavy-bottomed pot or Dutch oven
- Immersion blender (or a regular blender)
- Wooden spoon or silicone spatula
- Sharp knife and cutting board
- Measuring cups and spoons
- Cheese grater (block cheese, not the bag — more on that in a second)
- Ladle for serving
Pro Tips
These are the things I wish someone had told me the first time I made this soup:
- Grate your own cheese. Pre-shredded cheese is coated in anti-caking agents that make it clump in soup instead of melting smoothly. It takes two extra minutes and makes a noticeable difference in texture.
- Don’t overcook the broccoli. Once it loses its bright green color, it loses some of its flavor too. You want it just tender enough to blend, not mush.
- Warm your milk and cream before adding. Cold dairy added to a hot pot can cause the soup to break (turn grainy). A quick 30 seconds in the microwave prevents that entirely.
- Blend only half the soup. This gives you that creamy base while keeping some texture. Full blending makes it feel more like a puree than a soup. Personal preference, but try it this way first.
- Season at the end, not just the beginning. Broth reduces as it cooks and flavors concentrate. Always taste and adjust salt right before you serve.
How to Make It
Step 1: Sauté the aromatics
Melt the butter in your pot over medium heat. Add the diced onion, carrots, and celery. Cook for about 5-6 minutes until softened, stirring occasionally. Add the garlic and cook for another minute until fragrant.
Step 2: Add the flour
Sprinkle the flour over the vegetables and stir to coat everything. Cook for 1-2 minutes. This step removes the raw flour taste and helps thicken the soup.
Step 3: Add broth and broccoli
Pour in the vegetable broth and stir to combine. Add the broccoli florets, smoked paprika, and nutmeg. Bring to a gentle boil, then reduce heat and simmer for 12-15 minutes until the broccoli is tender.
Step 4: Blend
Use an immersion blender to blend about half the soup directly in the pot. If using a regular blender, carefully transfer half the soup, blend, and return it to the pot. (Let it cool slightly first — hot liquids and blenders are not a fun combination.)
Step 5: Add the dairy
Stir in the warmed milk and heavy cream. Let it heat through on low for 2-3 minutes without boiling.
Step 6: Add the cheese
Remove the pot from heat. Add the shredded cheddar a small handful at a time, stirring between each addition until fully melted. Season with salt and pepper.
Step 7: Serve
Ladle into bowls and top with extra cheese, croutons, or a drizzle of cream. Serve immediately with crusty bread.
Substitutions and Variations
This soup is pretty flexible. Here’s how to adjust it:
| Goal | Swap |
|---|---|
| Make it lighter | Replace heavy cream with half-and-half or extra whole milk |
| Make it dairy-free | Use coconut milk + nutritional yeast instead of cream + cheese |
| Make it gluten-free | Substitute flour with cornstarch (same amount) |
| Add protein | Stir in shredded rotisserie chicken at the end |
| Make it spicier | Add a pinch of cayenne or a dash of hot sauce |
| Want more depth | Add ¼ cup of white wine after the flour step |
You can also swap sharp cheddar for Gruyère, white cheddar, or even a mix of both. Gruyère gives it a slightly nuttier, more sophisticated flavor that pairs beautifully with the broccoli.
Make-Ahead Tips
This soup is actually better the next day after the flavors have had time to meld.
- Make it up to 3 days ahead. Store in an airtight container in the fridge. Reheat on the stovetop over medium-low heat, stirring gently. Add a splash of broth or milk if it’s thickened too much.
- Freeze it (without the dairy). If you want to freeze a batch, leave out the milk, cream, and cheese. Freeze the base, then add the dairy when reheating. This prevents any texture issues after thawing.
Nutritional Info (Per Serving, Approx.)
This recipe makes 4 generous servings.
| Nutrient | Amount |
|---|---|
| Calories | ~420 kcal |
| Protein | 14g |
| Fat | 32g |
| Carbohydrates | 22g |
| Fiber | 4g |
| Calcium | 30% DV |
| Vitamin C | 90% DV |
Broccoli is genuinely one of the most nutrient-dense vegetables out there — one serving of this soup covers nearly your full daily Vitamin C. 🥦
Meal Pairing Suggestions
This soup works great with:
- Crusty sourdough bread for dipping
- A simple side salad with lemon vinaigrette to cut through the richness
- A grilled cheese sandwich (classic for a reason)
- Roasted garlic flatbread if you want to really go for it
It also works beautifully as a starter before a lighter main like roasted chicken or baked salmon.
Leftovers and Storage
- Refrigerator: Store in an airtight container for up to 4 days.
- Freezer: Store (dairy-free version) for up to 3 months.
- Reheating: Warm on the stovetop over medium-low heat. Avoid boiling or the cream can separate. Stir frequently.
- To revive thick leftovers: Add a splash of broth or milk and stir until you reach your desired consistency.
FAQ
Can I use frozen broccoli?
Yes. Frozen broccoli works fine here and saves you some prep time. No need to thaw it first — just add it directly to the pot and adjust cooking time by 2-3 minutes.
My soup turned out grainy. What happened?
This usually happens when cold dairy is added to a hot pot, or when the soup is boiled after adding cheese. Make sure to warm your dairy first and keep the heat low when adding cheese.
Can I skip blending entirely?
You can, but the texture will be more chunky than creamy. If that’s what you like, go for it. It’ll still taste great.
Can I use milk instead of heavy cream?
Yes, but the soup will be thinner and less rich. Whole milk works better than skim or low-fat for this recipe.
How do I make this vegan?
Use olive oil instead of butter, vegetable broth, full-fat coconut milk instead of heavy cream and milk, and nutritional yeast (about 3 tablespoons) in place of the cheese. The flavor profile changes slightly, but it’s still really good.
Can I add other vegetables?
Absolutely. Cauliflower, spinach, or zucchini all blend well into this soup without overpowering the broccoli. Add them with the broccoli in Step 3.
Wrapping Up
This soup is the kind of recipe that quietly becomes a regular in your rotation.
You make it once for an easy weeknight dinner. Then you make it again because someone asks for the recipe. Then it becomes the thing you bring to potlucks because you know it’s always a hit.
It’s comforting without being heavy. Simple without being boring. And it takes half an hour.
Give it a try this week, and when you do, drop a comment below and tell me how it went. Did you add anything? Swap something out? I want to know. And if you have questions about any of the steps, ask away — I read every comment. 👇