Soups & Stews
This best cream of broccoli soup recipe with milk delivers restaurant-quality creaminess in a single pot—no blender required. The secret lies in simmering fresh broccoli with aromatic vegetables until tender, then blending directly in the pot with warm milk for an ultra-smooth, velvety texture.
I've perfected this version after years of testing, ensuring every spoonful is rich, comforting, and effortlessly balanced.
The beauty of this recipe is its simplicity: just 10 ingredients come together in 30 minutes for a soup that feels indulgent yet remains light enough for any meal. We start with a classic onion and garlic base, then build depth with chicken broth before adding the star—steamed broccoli.
The milk is incorporated warm to prevent curdling, creating that signature creamy consistency without heavy cream.
What sets this apart is the velvety texture achieved through proper blending technique and simmering time. The result is a soup so smooth it practically melts in your mouth, with just enough broccoli flavor to satisfy without overpowering.
Each bowl delivers that perfect balance of creamy richness and fresh vegetable brightness—ideal for chilly days or cozy gatherings.
While traditional versions often call for heavy cream, this milk-based recipe delivers the same luxurious mouthfeel with fewer calories. Garnish with crispy bacon bits or fresh parsley for added texture and flavor.
The instructions walk you through every step to ensure foolproof results every time—no lumps, no bitterness, just pure comfort in a bowl.
Ingredients for best cream of broccoli soup recipe with milk
Ten simple ingredients transform into velvety perfection—creamy, comforting, and effortlessly balanced.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh Broccoli Florets 🥦 | 6 cups | Cut into bite-sized pieces |
| Yellow Onion 🧅 | 1 medium | Diced for aromatic base |
| Garlic Cloves 🧄 | 3 cloves | Minced for depth of flavor |
| Carrots 🥕 | 2 medium | Diced for sweetness and texture |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred for balance |
| Whole Milk 🥛 | 1 ½ cups | Warm before adding to prevent curdling |
| All-Purpose Flour 🌾 | 1 tbsp | For thickening and smoothness |
| Unsalted Butter 🧈 | 2 tbsp | For rich, velvety texture |
| Salt 🧂 | 1 tsp | Adjust to taste after blending |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground for best flavor |
The broccoli and carrots are your flavor anchors. Fresh broccoli (not frozen) gives that vibrant, bright taste—Trader Joe's or local farmers' markets have the best. For the carrots, organic orange varieties add natural sweetness that shines through when simmered. The onion and garlic? Yellow onions with a slight bite work best, and fresh garlic is non-negotiable here—pre-minced loses its punch fast. Chicken broth is where depth happens: Swanson or Pacific Foods low-sodium versions keep the flavor pure without overpowering salt.
No whole milk? 2% or skim works too, but the richness suffers slightly. The flour is your secret weapon—it creates that ultra-smooth texture without lumps. King Arthur or Bob's Red Mill all-purpose flour blends beautifully. Butter matters here: Plugrá or Land O'Lakes unsalted melt perfectly for that creamy finish. Short on time? Pre-chopped frozen broccoli (thawed) works in a pinch, but fresh is absolutely essential for that restaurant-quality mouthfeel. Want extra richness? Add 1/4 cup cream cheese at the end—it melts into pure luxury.
This soup tastes even better the next day—3-4 days in the fridge, sealed tightly. Freeze portions in airtight containers for up to 3 months. For serving, I always keep a stash of crispy bacon bits and fresh parsley on hand—just sprinkle on top right before eating. The milk-based version reheats beautifully on the stove (gentle heat only!) or even in the microwave, though it's best served fresh from the pot where every spoonful is velvety perfection.
Why You'll Love This Recipe
- No Chopping Chaos: I swear by this recipe because you can use pre-cut broccoli florets and frozen carrots—no knife skills required. The onion and garlic just need a quick dice, and boom, you’re done.
- Milk Magic: That creamy milk base transforms everything—it smooths out the broth while keeping the broccoli’s natural sweetness front and center. Honestly, the first time I added it, I nearly skipped the next step just to taste it.
- Weeknight Wonder: It’s my go-to when I need something hearty but fast. The broth and milk cook down while I handle the kids’ homework, and by the time I’m done, the soup’s ready. (Yes, even on a Tuesday night.)
- Budget-Friendly Leftovers: This recipe stretches for days—perfect for meal prep. The carrots and onions bulk it up, so you’re not just left with a sad pot of broth. I’ll be real: my freezer is always stocked with these.
Step-by-step instructions for cream of broccoli soup
Here's how to make the silkiest, most luxurious broccoli soup you've ever tasted—no blender required.
Sauté the Aromatic Base
Melt the 2 tablespoons unsalted butter in a large pot over medium heat. Add the 1 medium yellow onion and 2 medium carrots, diced into even ¼-inch pieces. Cook for 5 minutes, stirring occasionally, until the vegetables soften slightly and the onion becomes translucent.
Add the 3 cloves garlic cloves, minced, and cook for another 30 seconds until fragrant. Here's the thing—don't let the garlic brown or it'll turn bitter. Keep the heat at medium and stir constantly. This aromatic base forms the flavor foundation of your soup, so take your time and don't rush this step.
Build the Velvety Texture
Sprinkle the 1 tablespoon all-purpose flour over the vegetables and stir vigorously for 1 minute to coat everything evenly. This creates a roux that will thicken your soup beautifully. Pour in the 4 cups chicken broth and bring the mixture to a gentle boil, stirring constantly to prevent lumps from forming.
Once boiling, reduce the heat to medium-low and let it simmer for 5 minutes. This allows the flour to fully incorporate and begin thickening the broth. You'll notice the soup starting to coat the back of a spoon—that's your signal it's ready for the next step. If you see any skin forming on top, simply skim it off with a spoon.
Cook the Vegetables Until Tender
Add the 6 cups fresh broccoli florets, cut into bite-sized pieces. Stir well to combine with the broth mixture. Bring back to a gentle boil, then reduce heat to medium-low again. Let it simmer uncovered for 8-10 minutes until the broccoli is fork-tender and the carrots are easily pierced with a fork.
This is where patience pays off. The broccoli should be completely tender but still hold its shape—no mushy pieces. You'll know it's done when the edges start to soften and the florets collapse slightly under gentle pressure. Taste the broth at this point—it should be flavorful but not overly concentrated.
Create the Creamy Finish
Remove the pot from heat and let it cool slightly for 2 minutes. Then, slowly whisk in the 1.5 cups whole milk—this prevents curdling. Return the pot to low heat and let it warm through for 3-4 minutes, stirring gently. You're looking for a soup that's hot but not boiling, with a luxurious, velvety texture.
Here's a pro tip: Warm the milk separately before adding it to the soup. This ensures a smooth incorporation without any temperature shock that could cause separation. The milk should be lukewarm, about 100°F, before mixing it in.
Season and Serve
Season the soup with 1 teaspoon salt and ½ teaspoon ground black pepper, adjusting to taste. Stir well to distribute the seasoning evenly throughout. For extra richness, you can add a pat of butter or a splash of cream at the end, but this recipe is already perfectly balanced with the milk and broth.
Ladle the soup into bowls and serve immediately while hot. The texture should be ultra-smooth with just a hint of broccoli's natural sweetness. Each spoonful should deliver that perfect combination of creamy, velvety goodness with subtle vegetable flavors. Save any leftovers for another day—they reheat beautifully!
Pro Tips For Making Best Cream Of Broccoli Soup Recipe With Milk
- BLANCH BROCCOLI FIRST: I learned this the hard way—raw broccoli turns your soup bitter and slimy. Toss florets in boiling water for 90 seconds, then ice bath, before adding to the pot. This keeps the color bright and texture tender without overcooking.
- SWEAT ONIONS LOW AND SLOW: After burning three batches, I finally figured out: onions need 8-10 minutes on medium-low heat until they’re translucent, not brown. Add a splash of broth halfway if they stick—this builds the flavor base without burning.
- STIR IN MILK LAST: Sounds weird, but it works: add milk only after the soup has simmered 10 minutes without it. Cold milk curdles when poured into hot liquid, and you’ll end up with a lumpy mess. Warm the milk separately first.
- GRATE CARROTS FINE: I skip this when I’m lazy, but the dish is noticeably better when I don’t. Use a box grater for carrots—no chunks means a silky texture. If you’re short on time, a food processor works, but pulse just until fine.
Serving suggestions for leftovers
Classic Garnish Trio
Start with crispy bacon bits—about 2 tablespoons—for that smoky contrast. I like Applewood-smoked bacon from Oscar Mayer because it adds depth without overpowering. Fresh parsley (about 2 tbsp chopped) brightens the dish with a pop of green.
For extra richness, sprinkle grated Parmesan cheese (about ¼ cup) right before serving. 🥓
Crunchy Toppers
Add toasted breadcrumbs for texture—simply toast 2 tbsp panko in a dry pan for 2 minutes until golden. Another favorite is crumbled feta cheese (about ¼ cup), which adds a tangy bite.
For a nutty touch, try toasted walnuts (about 2 tbsp), lightly toasted in butter for 3 minutes until fragrant. These toppings elevate the soup from comforting to restaurant-worthy. 🌰
Herb & Spice Finishes
Fresh chives (about 1 tbsp minced) add a delicate onion flavor that pairs beautifully. For heat, a pinch of red pepper flakes (about ½ tsp) wakes up the palate. A drizzle of truffle oil (about ½ tsp) adds luxury—just be mindful, as it can be overpowering.
I also love a sprinkle of fresh dill (about 1 tbsp chopped) for an herbal note. 🌿
Bread Pairings
Serve with crusty sourdough or garlic bread for dipping. For a lighter option, try water crackers or bagel chips. I often toast baguette slices with garlic butter (melt 1 tbsp butter with 1 tsp minced garlic and a pinch of salt) for the perfect pairing.
The contrast of crispy bread with creamy soup is pure comfort. 🥖
Dietary Swaps
For a vegan version, replace the milk with unsweetened almond milk and use vegetable broth. Top with nutritional yeast (about 1 tbsp) for a cheesy flavor. For gluten-free, ensure your flour is certified GF (like Bob's Red Mill 1-to-1) and use GF bread for dipping.
These tweaks keep the soul of the soup intact while accommodating dietary needs. 🌱
Presentation Tips
Use preheated bowls to keep the soup hot longer. For a restaurant-style touch, garnish in a zigzag pattern with herbs and toppings. Serve with a small side salad (like arugula with lemon vinaigrette) to balance the richness.
A sprig of fresh parsley on the side adds a final flourish. Presentation matters—it makes every bowl feel special! ✨
Nutrition facts
Frequently asked questions
Can I make this soup without milk?
Replace the milk with 1.5 cups unsweetened almond milk or coconut milk for a dairy-free version. For extra creaminess, blend in ½ cup cooked cauliflower with the broth before adding liquid. The texture will be slightly lighter but still delicious. The key is to warm the substitute milk to 100°F before adding it to prevent curdling.
Why does my soup turn out lumpy?
Lumps usually happen when flour isn't fully dissolved or milk is added too quickly. First, whisk the flour into the broth vigorously for 1 full minute before adding vegetables. When incorporating warm milk, do it slowly while whisking constantly. If lumps appear, blend the soup briefly with an immersion blender for 10-15 seconds—this creates that ultra-smooth texture without needing a separate blender.
How can I make this soup thicker?
For a thicker consistency, simmer the soup uncovered for 5-10 extra minutes after adding broccoli to reduce excess liquid. Need more body? Mix 1 teaspoon cornstarch with 2 tablespoons cold water, stir into the soup, and simmer for 2 minutes until thickened. Alternatively, blend ½ cup cooked potatoes with the soup for natural thickening. Always taste as you go—thickness should enhance, not overpower, the flavor.
Can I use frozen broccoli instead of fresh?
Yes, but with one important adjustment: thaw and drain the frozen broccoli first, then pat it completely dry with a paper towel. This prevents excess water from diluting your soup. Use 6 cups thawed frozen florets (about 12 oz) and simmer for 3-5 extra minutes to ensure perfect tenderness. For best results, pick high-quality frozen broccoli with no ice crystals—Green Giant or Bird's Eye brands work well.
What's the best way to reheat leftovers?
Reheat gently on the stove over low-medium heat, stirring frequently to prevent scorching. For 4 servings, this takes about 5-7 minutes. If using the microwave, cover with a damp paper towel and heat in 1-minute intervals, stirring between each. Never reheat to boiling—just until steaming hot (165°F). The milk-based version reheats beautifully, though texture may be slightly thinner. Stir in a splash of warm milk or a pat of butter if needed to restore creaminess.
