Love this? Pin it for later! 📌
There’s something magical about the first spoonful of homemade broccoli-cheese soup: the way the velvety base coats your tongue, the tender broccoli florets give a gentle bite, and the smoky crunch of bacon lands on top like a savory exclamation point. For me, this soup is Sunday-night pajamas, a soft blanket, and the Gilmore Girls revival all rolled into one. I started making it in college when my roommate and I were determined to recreate Panera’s famous version on a ramen-noodle budget. We burned the first roux, curdled the cheese the second time, and forgot the bacon entirely on attempt three—but when we finally nailed it, we high-fived with gooey cheese fingers and never looked back.
Fast-forward a decade and this soup has become my go-to for everything from Halloween tailgates to Christmas Eve dinner. It’s luxurious enough for company, easy enough for a Tuesday, and—thanks to a few strategic shortcuts—ready in just under 45 minutes. If you can chop broccoli and whisk milk, you can master this bowl of comfort. Let’s get cozy.
Why This Recipe Works
- Double-thick base: A butter-flour roux plus a handful of diced potatoes creates an ultra-creamy texture without heavy cream.
- Two-cheese strategy: Sharp cheddar for flavor and Gruyère for meltability—no grainy soup here.
- Blitz, don’t puree: A quick immersion-blend keeps some broccoli texture; you’ll actually know you’re eating vegetables.
- Bacon two ways: Crispy crumbles on top and a teaspoon of rendered fat stirred into the soup for whisper-smoky depth.
- One-pot wonder: Fewer dishes, happier cook. The entire soup happens in a Dutch oven; bacon crisps while onions sauté in the same pot.
- Make-ahead friendly: Flavors deepen overnight; simply thin with broth when reheating.
Ingredients You'll Need
The secret to restaurant-quality soup at home starts with shopping smart. Look for broccoli crowns with tight, forest-green florets and firm stalks—avoid anything yellowing or flowered. Buy your cheese in blocks and shred it yourself; pre-shredded cellulose can make soup gritty. For bacon, I reach for thick-cut applewood-smoked; the subtle sweetness plays beautifully with sharp cheddar. Finally, keep your chicken broth cold—adding warm broth to the roux can encourage lumps.
- Broccoli: 1 ½ lbs (about 2 large crowns). Save the stems; peeled and diced they add sweetness.
- Bacon: 8 oz, ¼-inch dice. Turkey bacon works, but you’ll need a drizzle of oil for rendering.
- Unsalted butter: 4 Tbsp. Salted is fine—just reduce added salt later.
- Onion: 1 medium yellow, finely chopped. White or shallot swap seamlessly.
- Garlic: 3 cloves, minced. Jarred is ½ tsp per clove in a pinch.
- All-purpose flour: ÂĽ cup. For gluten-free, substitute 2 Tbsp cornstarch slurry at the end.
- Yukon gold potato: 1 medium, peeled and ½-inch dice. Russets dissolve faster if that’s what you have.
- Chicken broth: 4 cups, low sodium. Veg broth keeps it vegetarian—obviously skip the bacon!
- Whole milk: 2 cups. 2 % is acceptable; skim tends to curdle.
- Sharp cheddar: 2 cups freshly shredded (about 8 oz). Orange or white—your call.
- Gruyère: 1 cup shredded. Swiss or fontina are solid understudies.
- Dijon mustard: 1 tsp. Adds tang without screaming “mustard!”
- Smoked paprika: ½ tsp. Sweet paprika plus a pinch of cumin works.
- Hot sauce: A few dashes (optional but highly recommended).
- Kosher salt & fresh cracked pepper: To taste.
How to Make Cheesy Broccoli Soup With Crispy Bacon Toppings
Crisp the bacon
Place a 4- to 5-quart Dutch oven over medium heat. Add diced bacon and cook, stirring occasionally, until browned and crisp—8–10 minutes. Use a slotted spoon to transfer bacon to a paper-towel-lined plate. Pour off all but 1 Tbsp of the fat (this liquid gold will flavor the soup). Let bacon cool completely; it crisps further as it rests.
Build the aromatic base
Return pot to medium heat. Add butter; when it foams, scatter in chopped onion. Sauté 3 minutes until translucent. Stir in garlic for 30 seconds—just until fragrant. Sprinkle flour over the mixture and whisk constantly for 2 minutes to cook out the raw taste; you’re aiming for a pale-blond paste (a.k.a. roux).
Deglaze & thicken
Slowly pour in 1 cup of the cold chicken broth, whisking vigorously to prevent lumps. Once smooth, add remaining broth, milk, diced potato, Dijon, paprika, and a pinch of salt. Bring to a gentle simmer (do NOT boil) and cook 8 minutes, stirring often, until potatoes are just tender.
Add the broccoli
Stir in broccoli florets and stems. Simmer 6–7 minutes more, until bright green and easily pierced with a fork. Remove from heat. Fish out a cup of broccoli pieces with a slotted spoon and reserve for texture; this step is optional but gives you those gorgeous broccoli “bobbers” in every bite.
Blend smartly
Insert an immersion blender and pulse 4–5 times until soup is creamy but still has visible broccoli flecks. (Alternatively, transfer half the soup to a countertop blender, puree until smooth, and return to pot.) Avoid over-blending; total baby-food texture is not the goal.
Melt in the cheese
Return pot to low heat. Gradually handful by handful, whisk in cheddar and Gruyère until melted and silky. Stir in reserved broccoli pieces. Taste and season with salt, pepper, and hot sauce. Keep heat low; boiling can cause cheese proteins to seize and turn grainy.
Serve & garnish
Ladle into warm bowls. Top with a generous mound of crispy bacon, an extra shower of cheddar, and a crack of black pepper. Serve alongside buttered crusty bread for the full Panera experience without the line.
Expert Tips
Low & slow for smooth cheese
High heat causes dairy proteins to clump. If your soup looks gritty, whisk in a splash of lemon juice or white wine—the acid helps re-emulsify.
Batch shred, future you says thanks
Shred a mountain of cheddar and freeze flat in zip bags. You’ll have soup-ready cheese for months and zero temptation to buy the bagged stuff.
Thin to win
The soup thickens as it sits. Keep extra broth or milk on standby; add a splash when reheating to restore silkiness.
Ice-cube cheese insurance
Toss shredded cheese with 1 tsp cornstarch before melting—it stabilizes proteins and prevents separating in the freezer or slow cooker.
Vegan swap
Use coconut oil, oat milk, vegan cheddar shreds, and smoked tempeh. Add 1 Tbsp nutritional yeast for umami.
Slow-cooker hack
Cook bacon separately. Add everything except dairy to the crock, cook on low 4 hours, stir in cheese during the last 15 minutes on warm.
Variations to Try
- Loaded potato vibe: Swap broccoli for equal parts broccoli and diced russet potatoes. Top with sour cream, chives, and extra bacon.
- Buffalo broccoli: Whisk in ÂĽ cup Buffalo sauce with the cheese; finish with crumbled blue cheese and a drizzle of ranch.
- Autumn harvest: Add 1 cup roasted butternut squash puree for sweetness and golden hue. Nutmeg is welcome here.
- Seafood spin: Fold in 8 oz baby shrimp or lump crabmeat during the last 2 minutes of cooking; swap smoked paprika for Old Bay.
Storage Tips
Refrigerator: Cool completely, transfer to airtight containers, and refrigerate up to 4 days. Reheat gently over medium-low, thinning with broth or milk as needed.
Freezer: Skip the cheese step if you plan to freeze. Cool soup base, transfer to freezer bags, press out air, and freeze flat up to 3 months. Thaw overnight in fridge, then heat and stir in cheese fresh.
Meal-prep bacon: Cook bacon, cool, and store in a zip bag at room temperature up to 3 days or freeze up to 1 month. Re-crisp in a dry skillet for 60 seconds.
Make-ahead party trick: Soup base can be prepped the morning of your event; hold in a slow-cooker on warm. Set out toppings bar—bacon, scallions, extra cheese, croutons—and let guests DIY.
Frequently Asked Questions
Cheesy Broccoli Soup With Crispy Bacon Toppings
Ingredients
Instructions
- Render bacon: In a Dutch oven over medium heat, cook diced bacon until crisp, 8–10 min. Transfer to plate; reserve 1 Tbsp fat.
- Build roux: Add butter to pot; melt. Stir in onion 3 min, garlic 30 sec. Sprinkle flour, whisk 2 min.
- Simmer base: Slowly whisk in cold broth, then milk, potato, Dijon, paprika. Simmer 8 min until potato is tender.
- Add broccoli: Stir in florets, cook 6–7 min. Remove from heat, reserve 1 cup broccoli pieces.
- Partially blend: Use immersion blender 4–5 pulses for creamy texture with flecks. Return reserved broccoli.
- Melt cheese: Over low heat, whisk in cheddar and Gruyère until smooth. Season. Serve hot topped with crispy bacon.
Recipe Notes
Keep heat low after adding cheese to prevent graininess. Soup thickens on standing; thin with broth or milk when reheating.