Soups & Stews
This best broccoli cheddar soup recipe with milk delivers ultra-creamy, velvety richness that rivals any restaurant version—no shortcuts, just foolproof technique and simple ingredients. The secret lies in blending the soup until completely smooth, then finishing with milk and sharp cheddar for that signature velvety texture.
I've perfected this over years of testing, ensuring every spoonful is rich, comforting, and perfectly balanced between creamy and savory.
The process starts with sautéing onions and garlic until fragrant, then adding chicken broth and fresh broccoli to build a flavorful base. After simmering until the vegetables are tender, we blend everything until silky smooth—this is where the magic happens.
The final touch? Stirring in milk and freshly grated cheddar just before serving, creating that restaurant-quality creaminess without separation.
What you'll end up with is a velvety, golden soup that's rich enough to satisfy but light enough for lunch or dinner. The sharp cheddar adds depth, while the milk creates that luxurious mouthfeel.
This version stays true to classic flavors while delivering a texture that's impossible to resist—creamy, smooth, and perfectly balanced in every bite.
Perfect for chilly days, game day gatherings, or as a comforting weeknight meal. Garnish with extra cheddar, fresh parsley, or a drizzle of cream for the ultimate presentation. Let's make this soup—it's the one everyone will ask for seconds.
Ingredients for best broccoli cheddar soup recipe with milk
Six ingredients deliver restaurant-quality cheddar soup—creamy, velvety, and packed with sharp cheddar flavor.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh Broccoli Crowns 🥦 | 2 ½ lb | Cut into florets, stems peeled |
| Yellow Onion 🧅 | 1 whole | Medium size, diced small |
| Garlic Cloves 🧄 | 4 cloves | Fresh, minced fine |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Whole Milk 🥛 | 1 ½ cups | Full-fat for creaminess |
| Sharp White Cheddar Cheese 🧀 | 1 ½ cups | Freshly grated, block preferred |
| Butter 🧈 | 4 tbsp | Unsalted, cold for sautéing |
| All-Purpose Flour 🌾 | 2 tbsp | For roux, sifted |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Heavy Cream 🥛 | ½ cup | Optional, for extra richness |
The cheddar is non-negotiable here. Sharp white cheddar from a block—none of that pre-shredded stuff—melts beautifully and delivers that signature tang. Whole Foods or local cheese shops carry the best blocks, but any grocery store with a deli section should have it. For the broccoli, freshness matters: look for bright green florets with tight buds, not limp or yellowing stems. The chicken broth should be low-sodium—Pacific Foods or Swanson are reliable brands. I always double-check the fat content in the milk too; whole milk gives that luxurious mouthfeel, but if you're watching calories, 2% works in a pinch (though it won't be quite as creamy).
No sharp cheddar? Pepper jack or Gruyère add depth, though the flavor profile shifts slightly. Running low on butter? Olive oil works for sautéing, but you'll miss that rich, nutty flavor. The heavy cream is truly optional—this soup is already velvety without it—but if you're serving it to a crowd, it's worth the extra richness. For the roux, don't rush the cooking: you want that golden color before adding the broth. And if you're using frozen broccoli (because let's be real, sometimes we do), thaw and drain it first—no one wants watery soup. The flour should be sifted to avoid lumps, but if you're in a hurry, cornstarch works too—just use half the amount.
This soup tastes even better the next day—reheat gently on low heat, stirring constantly to prevent separation. Store leftovers in the fridge for 4-5 days, covered tightly. For freezing, portion into airtight containers and freeze for up to 3 months. The cheddar will separate slightly when frozen, but a quick stir with a splash of milk brings it back to perfection. Garnish with extra cheddar and parsley just before serving—that's the moment it becomes restaurant-worthy. And if you're making it ahead for a party, keep the milk and cheese separate until the last minute to maintain that velvety texture.
Why You'll Love This Recipe
- I’ll be real: chicken broth and whole milk aren’t cheap, but this recipe feeds me. Four servings for under $8, and I’m left with seconds for dinner the next night. The broccoli crowns stretch further than chopped florets, too—less waste, more soup. Plus, it’s one of those dishes where the leftovers taste better the second time around.
- One-Pot Magic: I swear by this recipe because it’s actually one-pot—no extra bowls, no extra stress. Just sauté the onion and garlic, toss in the broccoli crowns (whole florets, no chopping), pour in the broth, and let it simmer. The milk blends in like a dream, and by the time it’s done, my kitchen looks cleaner than it did when I started.
- Creamy Without Curdling: Here’s what sold me—the milk stays silky, never grainy. I’ve burned other creamy soups by rushing the blending, but this one forgives me. The sharp cheddar (if you add it) cuts through the richness, and that first sip? Exactly the balance of earthy broccoli and velvety milk I crave.
- Lunchbox Hero: Between us, this soup is my go-to for meal prep. I make a big batch on Sundays, portion it into jars, and it stays fresh for days—no weird texture changes. Add a sprinkle of cheese on top when reheating, and suddenly, you’ve got a lunch that makes office coworkers ask, “What brand is this?”
Step-by-step instructions for ultra creamy broccoli cheddar soup
Here's where the magic happens—transforming simple ingredients into velvety perfection.
Build the Flavor Foundation
Melt the 4 tbsp butter in a large pot over medium heat. Add the diced yellow onion and cook for 5 minutes until soft and translucent. This is your flavor base—don't rush it. Stir occasionally so the onions caramelize slightly at the edges.
Add the 4 cloves minced garlic and cook for another 30 seconds until fragrant. Here's the thing—garlic burns fast, so keep an eye on it. Immediately add 2 tbsp sifted all-purpose flour and stir vigorously for 1 minute to create a smooth roux. This will thicken your soup beautifully and give it that rich, velvety texture we're after.
Cook the Broccoli Until Tender
Add the 2.5 lb broccoli florets (with stems peeled) to the pot. Pour in the 4 cups chicken broth and bring to a gentle boil. Reduce heat to medium-low and simmer for 12-15 minutes until the broccoli is fork-tender with just a slight bite remaining. You want it to break down slightly but still hold its shape—this ensures the perfect texture in your soup.
I like to stir occasionally to prevent sticking, but don't overdo it. The broth should be simmering gently, not vigorously boiling. This controlled cooking prevents the broccoli from turning mushy while extracting all that vegetal goodness into the broth.
Create the Creamy Base
Strain the soup through a fine-mesh sieve into a clean pot, pressing gently on the broccoli to extract maximum flavor. Return the strained soup to the pot and stir in the 1.5 cups whole milk and 1.5 cups freshly grated sharp white cheddar cheese. Here's where it gets luxurious—this combination creates that signature creamy, cheesy texture we all love.
Bring the soup back to a gentle simmer over medium heat, stirring constantly for 3-4 minutes until the cheese melts completely and the soup thickens slightly. The cheese should be fully incorporated with no lumps—if you see any, whisk them out vigorously. Taste and adjust seasoning with 1.5 tsp salt and 0.5 tsp freshly ground black pepper.
Finish with Richness and Garnish
For that final touch of decadence, stir in the 0.5 cup heavy cream (if using) and let it heat through for just 1-2 minutes—no longer, or it will curdle. The cream should blend seamlessly, adding another layer of velvety richness without overpowering the cheesy broccoli flavor.
Ladle the soup into bowls and garnish immediately with 0.25 cup chopped fresh parsley. The parsley adds a bright contrast to the rich soup and makes it look stunning. Serve with crusty bread or oyster crackers for the ultimate comfort food experience. The soup will continue to thicken slightly as it sits, so don't worry if it looks a bit thinner right out of the pot.
Rest and Serve at Peak Perfection
Let the soup rest for 5-10 minutes before serving. This resting period allows all the flavors to meld together beautifully. The cheese will continue to emulsify with the broth, creating that ultra-creamy consistency we're aiming for.
Real talk: the first bowl is always the best when it's piping hot. The combination of tender broccoli, sharp cheddar, and velvety milk creates a flavor profile that's simply irresistible. Each spoonful delivers that perfect balance of creamy richness and bright vegetable flavor that makes this soup truly exceptional.
Pro Tips For Making Best Broccoli Cheddar Soup Recipe With Milk
- Blanch Broccoli First: I learned this the hard way—raw broccoli florets turn to mush if you toss them straight into the pot. Give those crowns a quick 30-second blanch in boiling water, then shock in ice water before adding them to the soup. It keeps them bright green and holds their shape, even after simmering.
- Sweat Onions Low: Skip the sizzling—sweat your onion over medium-low heat with a pinch of salt until it’s translucent but not browned. I used to rush this, and it added a bitter edge to the soup. Take your time; it’s the foundation for that rich, mellow flavor before the garlic and broth join in.
- Stir In Milk Slowly: Adding cold milk straight to a hot pot turns your creamy soup into a gluey mess. Warm the milk separately over low heat until it’s just steaming, then whisk it into the soup a ladle at a time while stirring constantly. This keeps the texture smooth and prevents curdling—no one wants a lumpy cheddar disaster.
- Use Sharp Cheddar: Pre-shredded cheese is convenient, but it’s coated in anti-caking agents that make your soup grainy. Instead, grate your own sharp cheddar on the largest holes of a box grater—it melts better and adds that real, tangy depth. (Yes, it takes 2 minutes extra, but it’s worth it.)
Pro cooking tips for perfect results
Roux Perfection
The key to that velvety texture starts with your roux—don't skip the flour! Cook the 2 tbsp all-purpose flour in the butter for exactly 1 minute over medium heat until it turns a pale golden color.
This creates a smooth base that thickens the soup beautifully. I've found that using Diamond Crystal salt in your roux adds subtle depth, but taste as you go—some brands need more seasoning than others. 💛
Blending Secrets
For that ultra-smooth finish, blend the soup until it's completely silky. I use an immersion blender** directly in the pot for convenience, but a traditional blender works too—just be careful transferring hot liquid. The goal is to break down all the broccoli fibers completely.
If you leave any texture, the soup will feel gritty rather than velvety. Pro tip: Add a splash of milk to the blender first to help it puree smoothly.
Cheese Handling
Sharp white cheddar is non-negotiable here—it melts beautifully and delivers that signature tang. Grate it yourself using a box grater for the freshest flavor, and add it gradually to the simmering soup while stirring constantly. If you see any lumps forming, whisk them out vigorously or strain the soup again.
The cheese should melt completely into the broth, creating that luxurious mouthfeel. I like to reserve ¼ cup for garnishing to add a final pop of flavor.
Temperature Control
Never let your soup boil after adding the milk and cheese—this is where most home cooks go wrong. Keep the heat at medium-low and stir constantly for just 3-4 minutes until the cheese melts.
Boiling will cause the milk to curdle and the cheese to separate, ruining that velvety texture we're after. The soup should be hot but not bubbling vigorously. If it starts to separate, immediately reduce the heat and stir in 1 tbsp cold butter to help re-emulsify it.
Resting Matters
Let your soup rest for 5-10 minutes before serving—this is where the magic happens. The cheese continues to emulsify with the broth during this time, creating that ultra-creamy consistency. I also find that resting allows the flavors to meld together beautifully.
Serve it piping hot with fresh parsley and extra cheddar on top for that restaurant-quality finish. The first bowl is always the best, but trust me, everyone will want seconds. ✨
Nutrition facts
Frequently asked questions
Can I make this soup without milk for a dairy-free version?
Replace the 1.5 cups whole milk with 1.5 cups unsweetened almond milk or coconut milk for a creamy texture. For extra richness, blend in ½ cup cashews with the broth before straining. The soup will still be velvety, though slightly lighter than the original. Garnish with nutritional yeast for a cheesy flavor without dairy.
Why did my soup get grainy after blending?
This usually happens when broccoli stems aren't fully cooked or blended thoroughly. For ultra-smooth results, simmer the broccoli until completely tender (15-20 minutes), then blend with a splash of milk first. If grainy after blending, strain again through a fine-mesh sieve or whisk vigorously to break up any remaining fibers.
How can I make this soup spicier?
Add ½ tsp smoked paprika or ¼ tsp cayenne pepper to the roux for warmth. For depth, stir in 1 tbsp hot sauce or ½ tsp chipotle powder with the cheese. Top each serving with a dash of hot sauce or crumbled bacon for a smoky kick.
Can I use frozen broccoli instead of fresh?
Yes, but thaw and drain it first to avoid watery soup. Use 3 cups frozen broccoli florets (about 1.5 lbs) and simmer for 10-12 minutes until tender. For best texture, pulse in a food processor briefly before blending to break up any large ice crystals.
What’s the best way to reheat leftovers?
Reheat gently on the stove over low heat, stirring constantly to prevent separation. Add 1-2 tbsp milk or broth if the soup thickens too much. Microwave in 30-second intervals, stirring between each, until hot. For extra creaminess, stir in 1 tbsp butter while reheating.
