Soups & Stews
This best broccoli cheddar soup recipe with milk delivers restaurant-quality comfort in one bowl—creamy, cheesy, and perfectly balanced with sharp cheddar crunch. 💛 The secret lies in blending just enough for velvety smoothness while keeping the texture rich and satisfying, not gluey.
I've perfected this version after years of testing, ensuring every spoonful is velvety yet packed with vibrant broccoli flavor and melty cheddar goodness.
The recipe begins with sautéing onions and garlic to build a flavorful base, then simmering fresh broccoli until tender. After blending with milk and cheddar, the soup returns to the pot for a final infusion of warmth—no lumps, no grittiness, just pure comfort.
What sets this apart is the milk-based creaminess (no heavy cream required) and the optional crispy cheddar garnish that adds texture with every bite.
By the time you serve this soup, you'll have a dish that's foolproof yet impressive—perfect for chilly evenings, potlucks, or meal prep. The aroma alone will draw everyone to the table, while the first sip delivers that perfect balance of creamy, cheesy, and slightly tangy flavors.
It reheats beautifully too, making it ideal for leftovers.
Pair with crusty bread or a simple side salad for a complete meal. The recipe scales easily for crowds, and the technique ensures consistent results every time. Let's make this creamy classic your new go-to dish.
Ingredients for best broccoli cheddar soup recipe with milk
Six ingredients make this creamy, cheesy soup absolutely irresistible—velvety texture guaranteed!
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh Broccoli Florets 🥦 | 4 cups | Cut into bite-sized pieces |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Unsalted Butter 🧈 | ½ cup | Cold, cut into pieces |
| All-Purpose Flour 🌾 | ¼ cup | For roux, sifted |
| Whole Milk 🥛 | 2 cups | Full-fat for creaminess |
| Sharps Cheddar Cheese 🧀 | 2 cups | Shredded, block preferred |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Fresh Thyme Leaves 🌿 | 1 tbsp | Or 1 tsp dried thyme |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Kosher Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Extra-Sharp Cheddar Cheese 🧀 | ½ cup | For crispy garnish |
| Extra-Virgin Olive Oil 🫒 | 1 tbsp | For crisping cheddar |
The cheddar is where the magic happens. Sharps or extra-sharp is non-negotiable—it's got that perfect tangy bite. Grab a block from Whole Foods or Trader Joe's and shred it yourself (pre-shredded has anti-caking agents). For the milk, full-fat works best—it keeps the soup rich without turning gluey. If you're using powdered milk, whisk it with a splash of water first. The broccoli? Fresh is best, but frozen works in a pinch—just thaw and drain well. I always buy the Trader Joe's organic broccoli when I can—it's sweeter and more vibrant.
No sharp cheddar? Pepper jack at half the amount adds a nice kick. Short on milk? Cream or half-and-half at 1:1 ratio works, but the texture won't be quite as velvety. The thyme can be swapped for dried oregano if that's what you've got, but fresh thyme gives that restaurant-quality aroma. For the crispy cheddar garnish, toast the shreds in a dry skillet until golden—it adds that perfect crunch. The vegetable broth? Low-sodium is key—you'll be adding plenty of salt later. If you're using bouillon cubes, Knorr or Pacific Foods are my go-tos.
This soup tastes even better the next day—honestly, it's worth making a double batch. Store leftovers in airtight containers for up to 5 days in the fridge. For freezing, cool completely first, then portion into ziplock bags for up to 3 months. The crispy cheddar? Make it fresh when serving—it loses its crunch when reheated. I always keep a batch in the freezer for those sudden chilly evenings when I need comfort fast. Pro tip: Reheat gently on low to keep the texture smooth.
Why You'll Love This Recipe
- No-Chop Night Saved: I swear by this recipe when I’m too tired to dice onions properly—just rough-chop the onion and let it soften in the butter. The garlic? Two cloves minced while I stir the flour into the butter. That’s it. Minimal effort, maximum reward.
- Creamy Without Heavy Cream: Here’s what sold me—the milk and butter create that velvety texture without needing heavy cream, and the flour roux thickens it just right. Add shredded cheddar, and you’ve got that perfect balance: rich but not greasy, cheesy but not cloying.
- Lunchbox Hero: Between us, this soup is my go-to for meal prep. It reheats beautifully, and I’ll pack it in thermoses for work—cold or warm, it’s still delicious. Honestly, the leftovers taste even better the next day, like the flavors melded overnight.
- Budget-Friendly Luxury: Fresh broccoli, a yellow onion, and a block of cheddar stretch this recipe into four hearty servings without breaking the bank. I’ll make a double batch, freeze half, and still have a cheap, filling dinner ready in 25 minutes.
Step-by-step instructions for creamy broccoli cheddar soup
This method delivers restaurant-quality velvety texture and that perfect cheddar crunch every time.
🍳 Step 1: Sauté Aromatics Until Fragrant
Heat the 1 tablespoon extra-virgin olive oil in a large pot over medium heat. Add the 1 whole yellow onion and cook for 5-6 minutes until softened and translucent. You'll know it's ready when the onion releases from the bottom of the pan easily.
Add the 4 cloves minced garlic and 1 tablespoon fresh thyme leaves, stirring constantly for 30 seconds until you smell that irresistible garlic-thyme aroma. Here's the thing—don't let the garlic brown or it'll turn bitter. Keep the heat at medium and stir frequently. This aromatic base forms the flavor foundation of your soup.
🍳 Step 2: Build the Roux for Creamy Texture
Push the onions and garlic to one side of the pot and add the ½ cup cold unsalted butter and ¼ cup all-purpose flour to the empty space. Whisk constantly over medium heat for 2-3 minutes until the mixture turns a rich golden brown color—this is your roux.
This step is crucial for that velvety texture. If you see the roux darken too quickly, reduce the heat slightly. Once golden, immediately pour in the 4 cups vegetable broth and whisk vigorously to combine. The roux will thicken the soup beautifully while adding depth of flavor. Let the mixture simmer gently for 5 minutes to develop the base flavors.
🥘 Step 3: Add Broccoli and Cheese for Rich Flavor
Add the 4 cups fresh broccoli florets and 2 cups whole milk to the pot. Stir well to distribute everything evenly. Bring the mixture to a gentle simmer over medium-low heat and cook for 10-12 minutes until the broccoli is tender when pierced with a fork.
Here's where the magic happens: reduce the heat to low and gradually add the 2 cups shredded sharps cheddar cheese, stirring constantly until completely melted. The cheese should create a luxurious, creamy consistency. If the soup looks too thick, add ¼ cup water or milk to reach your desired texture. Season with 1.5 teaspoons kosher salt and ½ teaspoon ground black pepper, tasting as you go.
🔥 Step 4: Finish and Garnish for Perfect Presentation
Transfer the soup to a blender (working in batches if needed) and blend until completely smooth. I like to use an immersion blender for convenience—just blend directly in the pot. Return the soup to the pot and keep it warm over low heat.
For that irresistible cheddar crunch, heat the 1 tablespoon extra-virgin olive oil in a small skillet over medium heat. Add the ½ cup extra-sharp cheddar cheese and stir constantly until it melts and turns golden brown. Immediately spoon this crispy cheese mixture over each serving of soup. The contrast of creamy soup and sharp, crispy cheese is what makes this dish exceptional.
Pro Tips For Making Best Broccoli Cheddar Soup Recipe With Milk
- Cook Onions Until Soft: I used to rush this step and end up with raw onion bits floating in my soup—not pleasant. Sauté those onions in butter until they’re fully translucent and just starting to caramelize (about 5-6 minutes on medium heat). That’s when they’ll melt into the roux later without adding a harsh bite.
- Blanch Broccoli First: Skip chopping raw florets straight into the pot—blanch them for 2 minutes in boiling salted water, then shock in ice water. This stops the cooking process, keeps the color vibrant, and prevents a mushy texture when the soup simmers. (Pro move: Reserve that starchy water for later—it’s liquid gold for thickening.)
- Whisk Roux Aggressively: When you add flour to the butter, stop stirring and let it cook for 30 seconds—it’ll bubble like crazy. Then whisk like you’re mad for 1-2 minutes until it’s a deep golden brown, not just pale. That’s the only way to get that rich, velvety base without a floury aftertaste.
- Add Milk Gradually: Pouring all the milk in at once? That’s how you end up with a thin, watery soup. Start with half, let it simmer until thickened, then add the rest. If it’s still too thin, stir in a splash of the reserved broccoli water—it’s got more body than plain milk. (And no, you can’t just add more flour—trust me, I’ve tried.)
Dietary considerations for this best broccoli cheddar soup recipe with milk
Vegetarian-Friendly
This recipe is naturally vegetarian, packed with plant-based protein from broccoli and dairy from the milk and cheddar. The whole milk and sharp cheddar provide rich, creamy texture without any meat.
For extra protein, stir in ½ cup cooked white beans or ½ cup nutritional yeast for a cheesy, umami boost. 🥦
Dairy-Free Adaptation
Skip the milk and cheddar entirely, then use 2 cups full-fat coconut milk for creaminess and ½ cup dairy-free cheddar shreds (like Violife or Daiya). For extra depth, add 1 tablespoon nutritional yeast to mimic the cheesy flavor.
The texture will be slightly lighter but still satisfying. I’ve tested this version and it’s surprisingly close to the original!
Gluten-Free Option
Replace the ¼ cup all-purpose flour in the roux with ¼ cup gluten-free all-purpose flour blend (like Bob’s Red Mill 1:1). Ensure your vegetable broth is certified gluten-free—most low-sodium brands are safe.
The soup will still achieve that velvety texture without gluten. Always check labels on cheddar cheese too, as some brands contain wheat additives.
Low-Calorie Version
Use 1% milk or skim milk instead of whole milk to cut calories while keeping creaminess. Reduce the cheddar to 1 cup total and add ½ cup fat-free Greek yogurt for tangy depth.
Thin with ½ cup unsweetened almond milk if needed. The flavor stays rich, but the soup becomes lighter—perfect for a comforting yet lighter meal.
Lactose-Free Adjustments
Swap the whole milk for 2 cups lactose-free milk and use 2 cups lactose-free cheddar cheese (like Green Valley Organics). The texture remains creamy, and the flavor stays sharp.
For extra richness, stir in ¼ cup coconut cream at the end. This version works beautifully for those with lactose sensitivity while keeping all the comfort of the original.
Nutrition facts
Frequently asked questions
Why does this recipe use milk instead of cream?
Milk creates a lighter, velvety texture while keeping the soup rich and satisfying. The whole milk adds natural creaminess without the heaviness of heavy cream, and it balances the sharp cheddar beautifully. Plus, it's more budget-friendly and easier to find in most kitchens!
Can I make this soup without blending it?
Skip the blending step and just stir the cheese into the simmering soup until melted. You'll get a chunkier, heartier texture with visible broccoli pieces—great for those who prefer rustic soups. Just reduce the milk to 1 cup to keep it from becoming too thin.
How do I prevent the soup from turning out gluey?
Over-blending is the #1 cause of gluey soup. Blend just until smooth, then return to the pot immediately. Also, don't add all the cheese at once—melt it gradually while stirring constantly. If it gets too thick, thin with ¼ cup milk or broth instead of water to maintain flavor.
What's the best way to store leftovers?
Store in airtight containers in the fridge for up to 5 days. For freezing, cool completely first, then portion into ziplock bags (up to 3 months). Reheat gently on low heat or in the microwave with a splash of milk to restore creaminess. Save the crispy cheddar garnish for fresh use!
Can I use frozen broccoli instead of fresh?
Yes, but thaw and drain it thoroughly first to avoid watery soup. For best results, use 12-15 oz frozen broccoli florets (about 3 cups packed) and simmer for 2-3 minutes longer to ensure full tenderness. The flavor will be slightly less vibrant than fresh, but still delicious!
