Broccoli Cheddar Soup: Rich, Creamy, and Made from Scratch

In This Article
- Why You’ll Love This Broccoli Cheddar Soup
- Ingredients You’ll Need
- How to Make Broccoli Cheddar Soup Step by Step
- Key Tips for Best Results
- Common Mistakes to Avoid
- Variations and Substitutions
- What to Serve With Broccoli Cheddar Soup
- Storage, Reheating, and Make-Ahead
- Allergen Information
- Nutrition Information
- Frequently Asked Questions
- Recipe Card
Most broccoli cheddar soup ends up one of two ways: thin and watery, or thick with that grainy, broken cheese texture that no amount of stirring can fix. Both problems come from the same two mistakes: skipping a proper roux and adding cheese to a pot that’s still on the heat.
This recipe builds the soup on a butter-and-flour roux cooked long enough that no raw flour taste survives. The sharp cheddar goes in off the heat so it melts into the liquid without seizing. Broccoli is cut small, cooked to fork-tender, and still holds enough shape to be worth chewing.
I made this nearly every week one winter, adjusting the broth-to-cream ratio and testing exactly when the cheese went in. This is where it landed: broccoli cheddar soup with real body, a clean cheese flavor, and broccoli that doesn’t dissolve into the pot.
Why You’ll Love This Broccoli Cheddar Soup
- The roux gives the soup natural body without a starchy or gluey finish
- Sharp cheddar added off the heat melts smooth, with zero grainy texture
- Broccoli cut to 2cm stays on a spoon without turning soft and formless
- Grated carrot adds subtle sweetness and gives the soup its warm golden color
- One pot from start to finish, no blender or special equipment needed
Ingredients You’ll Need

For the Soup
- 3 tbsp unsalted butter — forms the fat base of the roux; adds a faint nuttiness as it cooks
- 1 medium yellow onion, finely diced (about 1 cup) — softens fully into the base; don’t rush this or the soup will have a sharp, raw edge
- 3 garlic cloves, minced
- 3 tbsp all-purpose flour — cooked directly in the butter to build the roux that thickens the soup; it must cook long enough to lose its raw taste
- 2 cups whole milk, at room temperature — room-temperature milk blends into the roux without clumping; cold milk poured too fast causes lumps
- 2 cups low-sodium vegetable broth (or halal chicken broth) — low-sodium lets you control the final salt level yourself
- 1/2 cup heavy cream — adds richness without making the soup uncomfortably thick
- 4 cups broccoli florets, cut to 2cm or smaller (about 1 large head, 400g) — small pieces cook evenly and stay manageable on a spoon
- 1 large carrot, grated — softens fully into the soup and gives it the warm golden color that pale green broccoli alone can’t produce
- 1/2 tsp mustard powder — sharpens the cheddar flavor without any mustard coming through
- 1/4 tsp smoked paprika
- A pinch of ground nutmeg — rounds out the cream base; use less than you think you need
- Salt and black pepper to taste
- 2 cups sharp cheddar, freshly shredded (about 200g) — never use pre-shredded; anti-caking agents in the bag coat the cheese and prevent it from melting smoothly into the soup
Recipe Timing
| Timing Element | Duration |
| Prep Time | 15 minutes |
| Cook Time | 30 minutes |
| Total Time | 45 minutes |
Servings: 4 | Difficulty: Easy | Cuisine: American | Course: Soup / Main
How to Make Broccoli Cheddar Soup Step by Step
Step 1: Soften the onion and garlic
Melt the butter in a large Dutch oven or heavy-bottomed pot over medium heat. Add the diced onion and cook for 6 to 8 minutes, stirring every couple of minutes, until the onion is fully soft, translucent, and just beginning to color at the edges. Add the garlic and stir for 1 minute until fragrant; the garlic should not brown.
Why this works: Onion cooked low and slow in butter goes sweet and mild. Pulled too early, it stays sharp and raw-tasting, and that bitterness carries through to the finished soup.

Step 2: Build the roux
Sprinkle the flour over the softened onion and garlic. Stir constantly for 1 minute 30 seconds to 2 minutes, until the flour coats everything and the mixture smells faintly nutty rather than raw and pasty.
Why this works: The roux needs at least 90 seconds of direct heat to cook out the raw flour taste. It looks done after 30 seconds, but it isn’t. If you add liquid too early, the finished soup has a floury aftertaste that no amount of seasoning will fix.
Step 3: Add the liquid and bring to a simmer
Pour the vegetable broth in a slow, steady stream while whisking constantly. Once the mixture is smooth and no lumps remain, add the whole milk and heavy cream. Stir to combine and bring to a gentle simmer over medium heat, which takes about 5 minutes. Do not let the soup come to a full boil.
Why this works: Adding the broth gradually while whisking keeps the roux from seizing into clumps. A hard boil after the dairy goes in can break the emulsion and give you a curdled, separated texture.
⚠️ Food Safety: Keep milk and cream refrigerated until needed. Dairy left at room temperature for more than 2 hours should not be used. Allow cold milk to sit out for 10 to 15 minutes before adding it, or pour it slowly while whisking to reduce the temperature shock on the roux.

Step 4: Cook the vegetables
Add the broccoli florets and grated carrot. Stir to distribute evenly, then cook over medium-low heat for 15 to 18 minutes, stirring occasionally, until the broccoli is tender when pierced with the tip of a knife and the carrot has softened fully into the soup.
Step 5: Season thoroughly
Stir in the mustard powder, smoked paprika, and nutmeg. Taste and add salt and black pepper. The soup should taste well-seasoned before the cheese goes in; cheese intensifies flavor but won’t rescue an under-seasoned base.
Step 6: Add the cheese off the heat
Remove the pot from the heat completely. Wait 1 full minute for the bubbling to stop, then add the shredded cheddar in three separate additions. Stir steadily after each handful until the cheese is fully melted and the soup looks smooth before adding the next portion.
Why this works: Adding cheese to liquid that’s above roughly 85°C (185°F) causes the proteins to seize and the fat to separate, which creates that grainy, greasy texture. The residual heat in the pot off the burner is more than enough to melt freshly shredded cheddar completely.

Key Tips for Best Results
Shred your own cheddar. Pre-shredded cheese contains cellulose or potato starch to prevent clumping in the bag. Those same coatings stop it from melting cleanly into soup. A block of sharp cheddar on a box grater takes three minutes and results in noticeably smoother broccoli cheddar soup.
Don’t rush the roux. The flour needs a full 90 seconds over direct heat to cook through. It looks done well before it actually is. Stir constantly to prevent burning, and wait until the mixture genuinely smells nutty before you reach for the broth.
Use room-temperature milk. Cold milk poured quickly into a hot roux can cause lumps. Pull it from the fridge 10 to 15 minutes before you start cooking, or add it in a slow stream while whisking.
Common Mistakes to Avoid
These four mistakes are the most common reasons a broccoli cheddar soup falls short.
Using pre-shredded cheese
Why it happens: It’s convenient and the coating isn’t visible.
How to avoid it: Buy a block and shred it yourself immediately before use. Three extra minutes, genuinely better result.
Adding cheese while the pot is still on the heat
Why it happens: It seems logical that heat would melt cheese faster.
How to avoid it: Take the pot off the burner entirely. Wait a full minute. Add the cheese in stages and stir after each.
Not cooking the roux long enough
Why it happens: The roux looks cooked before it is.
How to avoid it: Cook for a minimum of 90 seconds while stirring constantly, until the mixture smells nutty, not floury.
Boiling the soup after adding dairy
Why it happens: People turn the heat up to save time or lose track of the temperature.
How to avoid it: Once milk and cream are in, keep the heat at medium-low. Gentle simmering is all that’s needed.
Variations and Substitutions
No heavy cream: Replace the 1/2 cup of heavy cream with an equal amount of whole milk. The soup loses a small amount of richness but the roux still provides body.
Chicken broth instead of vegetable: Halal chicken broth works well and gives the soup a slightly deeper, more savory base. The character of the dish stays the same.
A mild kick: Add a pinch of cayenne with the other spices in Step 5. It adds background warmth without making the soup spicy. Add a small amount, taste, and adjust.
What to Serve With Broccoli Cheddar Soup
Crusty bread or dinner rolls. A thick slice of sourdough or a soft dinner roll is the natural pairing and the practical one; the bread handles getting every bit from the bowl.
A light green salad. Something acidic cuts through the richness of the cheese without competing with it. Arugula with a simple lemon dressing works well.
Baked potatoes. Serve the soup alongside or pour it directly over the potato as a topping. It functions well as both.
Warm naan or flatbread. For a more filling meal, naan on the side makes this a full dinner. It holds up to the thickness of the soup without going soggy immediately.

Storage, Reheating, and Make-Ahead
Fridge: Cool the soup completely before transferring to an airtight container. It keeps for up to 4 days. The soup thickens considerably as it sits.
Freezer: Freeze in a sealed freezer-safe container for up to 2 months. The dairy can separate slightly after thawing. Thaw overnight in the fridge, then reheat slowly over low heat while whisking. Adding a small splash of fresh cream while reheating helps restore the texture.
Reheat: Warm on the stovetop over low heat, stirring frequently. Add a splash of milk or broth to loosen the consistency. Do not bring it to a boil.
Make-ahead: The full soup keeps well for up to 2 days in the fridge and the flavor improves slightly overnight as the spices settle in. Reheat gently and taste for seasoning before serving.
Allergen Information
Contains gluten (all-purpose flour). For a gluten-free version, skip the roux entirely. Instead, mix 2 tablespoons of cornstarch with 2 tablespoons of cold water, then stir this slurry into the hot soup in Step 3 after the broth and dairy are in. Let it simmer for 3 to 4 minutes until thickened. The texture will be slightly glossier but still thick.
Contains dairy (butter, whole milk, heavy cream, cheddar). A fully dairy-free version would require replacing all four of these, which changes the character of the dish significantly.
Nutrition Information
Per serving (based on 4 servings)
| Nutrient | Per Serving |
| Calories | 490 kcal |
| Protein | 20 g |
| Total Carbohydrates | 24 g |
| Dietary Fiber | 3 g |
| Total Sugars | 9 g |
| Total Fat | 36 g |
| Saturated Fat | 22 g |
| Sodium | 650 mg |
| Cholesterol | 110 mg |
| Potassium | 500 mg |
| Calcium | 480 mg |
| Vitamin C | 65 mg |
| Iron | 1.5 mg |
Nutritional values are estimates only and may vary based on specific ingredients, brands, and portion sizes used. For precise dietary needs, consult a registered dietitian.
Frequently Asked Questions
Why does my broccoli cheddar soup turn out grainy?
This almost always happens from adding cheese while the pot is still on the heat. Once liquid hits roughly 85°C (185°F), the proteins in cheddar tighten and the fat separates, which is what creates those grainy, oily bits. Take the pot off the burner completely, wait a full minute for the bubbling to stop, then add the cheese in three additions and stir well after each.
Can I use frozen broccoli?
Yes. Add frozen broccoli straight from the freezer in Step 4 without thawing. Reduce the cook time to 10 to 12 minutes, since frozen broccoli is blanched before packaging and softens faster than fresh. Check with the tip of a knife before moving on to Step 5.
How do I thicken broccoli cheddar soup without flour?
Mix 2 tablespoons of cornstarch with 2 tablespoons of cold water until smooth. Stir this into the hot soup after adding the broth and dairy in Step 3, while the liquid is simmering. Cook for 3 to 4 minutes until it thickens. The result is slightly glossier than a roux-based version but still holds up well.
Can you freeze broccoli cheddar soup?
You can, but the texture changes after thawing. The fat in the dairy tends to separate from the liquid when frozen. Thaw overnight in the fridge, then reheat over low heat while whisking steadily. A small splash of fresh cream stirred in while reheating helps bring everything back together.
What cheese works best?
Sharp or extra-sharp cheddar gives the most flavor. Mild cheddar melts smoothly but the taste gets lost behind the broth. For a slightly nuttier result, replace up to 50g of the cheddar with Gruyere. Whatever you use, shred it from a block immediately before adding it to the pot.
How long does broccoli cheddar soup keep in the fridge?
Up to 4 days in an airtight container. The soup thickens noticeably after a day; add a splash of broth or milk when reheating and stir over low heat until it loosens back up.
Can I make this without heavy cream?
Yes. Replace the 1/2 cup of heavy cream with an equal amount of whole milk. The soup will be slightly less rich, but the roux provides enough body that it won’t taste thin or watery.
Conclusion
What separates a good broccoli cheddar soup from a mediocre one comes down to three things: a properly cooked roux, vegetables seasoned before the cheese goes in, and cheddar added off the heat. Get those right and the rest takes care of itself. This is a soup worth keeping in regular rotation, particularly in colder months when you want something warm and filling that comes together in under an hour. The leftovers are arguably better the next day once the flavors have had time to settle.

Broccoli Cheddar Soup: Rich, Creamy, and Made from Scratch
Ingredients
Method
- Melt butter in a large Dutch oven over medium heat. Add onion and cook 6 to 8 minutes until fully soft and translucent. Add garlic and stir for 1 minute until fragrant.
- Sprinkle flour over the onion and stir constantly for 1 minute 30 seconds to 2 minutes until the mixture smells nutty and no raw flour scent remains.
- Pour in the vegetable broth in a slow stream, whisking constantly until smooth. Add milk and cream, stir to combine, and bring to a gentle simmer over medium heat. Do not boil.
- Add broccoli florets and grated carrot. Cook over medium-low heat for 15 to 18 minutes, stirring occasionally, until the broccoli is fork-tender.
- Stir in mustard powder, smoked paprika, and nutmeg. Season with salt and black pepper to taste.
- Remove the pot from the heat completely. Wait 1 full minute, then add the shredded cheddar in three additions, stirring well after each until fully melted and smooth.
