This is a straightforward broccoli cheese soup built on a simple roux base — butter, flour, broth, and milk — with sharp cheddar stirred in at the end. It comes together in 30 minutes, serves four generously, and scales up cleanly if you need to feed more people. The honest reason to make it: it tastes better than anything from a can and costs a fraction of a restaurant bowl.
Before you start
The roux is the step that determines whether your soup is silky or lumpy. Once you whisk the flour into the butter, keep stirring and let it cook for the full 2–3 minutes — this cooks out the raw flour taste and gives the roux enough structure to thicken the broth and milk evenly. The second thing that matters: take the pot off the heat before you add the cheese. Adding shredded cheddar to a boiling or even simmering liquid causes the proteins to seize and the fat to separate, leaving you with a greasy, grainy texture. Pull the pot from the burner, let it sit for a minute, then whisk the cheese in gradually. Both steps take almost no extra time and make a real difference in the finished soup.
Ingredient notes
- Sharp cheddar: Buy a block and shred it yourself. Pre-shredded cheese is coated in starch to prevent clumping, which works against smooth melting here.
- Low-sodium broth: Worth using. The cheese already brings a significant amount of salt, and full-sodium broth can push the soup over the edge — especially when you scale the recipe up.
- Whole milk: Gives the soup body. Lower-fat milks work but produce a thinner result. If you use unsweetened almond milk, expect a slightly less rich texture.
- Dijon mustard: A small amount sharpens the cheese flavor without tasting like mustard. It is easy to skip, but it does make the soup taste more like itself.
What can go wrong
- Soup turns out thin: The roux was not cooked long enough, or the broth and milk were added too quickly. Next time, cook the roux until it smells slightly nutty and add the liquids in a slow, steady stream while whisking. If it is already thin, a slurry of one tablespoon of flour mixed with two tablespoons of cold water, stirred in and simmered for five minutes, will help.
- Cheese turns grainy or stringy: The liquid was too hot when the cheese went in. Remove from heat completely and let the soup cool slightly before adding cheese in small handfuls.
- Broccoli turns army-green and mushy: It cooked too long. Bite-sized florets only need 10–12 minutes at a low simmer. Check them early, especially if you are doubling the batch and using a wider pot where heat distributes differently.
- Soup tastes flat: Salt was added too early, before the cheese went in. The cheese contributes a lot of sodium, so always do a final seasoning check after the cheese is fully incorporated.
- Scaled-up batch scorches on the bottom: A larger volume takes longer to heat through, and it is tempting to raise the heat. Keep it at medium-low and stir from the bottom of the pot every few minutes, especially after the cheese is added.
Storage and reheating
Leftover soup keeps in the fridge in a sealed container for up to four days. Reheat it gently on the stovetop over low heat, stirring frequently — high heat will break the cheese emulsion and leave the soup greasy. Add a splash of broth or milk to loosen it up, since it thickens considerably when cold. Freezing is possible but not ideal: dairy-based soups can separate and turn grainy after thawing. If you do freeze it, use it within six weeks and reheat slowly while whisking to bring it back together. Skip the garnish — not worth the extra dish — the soup is plenty satisfying on its own straight from the pot.
Broccoli Cheese Soup (30-Minute Stovetop Recipe)
Equipment
- Large pot or Dutch oven (5-quart / 4.7L minimum)
- Whisk
- Wooden spoon or silicone spatula
- Sharp chef’s knife
- Cutting board
- Box grater or rotary cheese grater
Ingredients
- 4 tablespoons butter unsalted, 60g
- 1 medium yellow onion chopped
- 3 cloves garlic minced
- ¼ cup all-purpose flour 30g
- 2 cups chicken broth or vegetable broth, low-sodium, 480ml
- 2 cups whole milk 480ml
- 3 cups broccoli florets cut into bite-sized pieces, 225g
- 1 large carrot julienned or finely chopped (optional)
- 2 cups sharp cheddar cheese freshly shredded, 225g
- ½ teaspoon Dijon mustard optional, for a tangy kick
- ½ teaspoon fine sea salt plus more to taste
- ¼ teaspoon ground black pepper plus more to taste
- croutons for serving (optional)
- fresh chives chopped, for serving (optional)
Instructions
- Melt the butter in a large pot or Dutch oven over medium heat. Add the chopped onion and sauté until soft and translucent, about 5 minutes. Add the minced garlic and cook for 1 minute until fragrant.4 tablespoons butter, 1 medium yellow onion, 3 cloves garlic
- Sprinkle the flour over the onion and garlic mixture. Whisk constantly for 2–3 minutes until the flour is fully incorporated and the raw flour smell has cooked off. The mixture will look like a thick paste.¼ cup all-purpose flour
- Gradually pour in the chicken broth while whisking constantly to prevent lumps. Once smooth, whisk in the milk. Bring the mixture to a gentle simmer and cook for 5 minutes, stirring occasionally, until it thickens slightly.2 cups chicken broth, 2 cups whole milk
- Stir in the broccoli florets and chopped carrot (if using). Season with salt and pepper. Reduce the heat to medium-low, cover, and simmer for 8–10 minutes, or until the broccoli is tender but still bright green.3 cups broccoli florets, 1 large carrot, ½ teaspoon fine sea salt, ¼ teaspoon ground black pepper
- Once the broccoli is cooked, remove the pot from heat. Gradually whisk in the shredded cheese until melted and incorporated. Add the Dijon mustard (if using) for a touch of tang. Taste and adjust seasonings with salt and pepper as needed.2 cups sharp cheddar cheese, ½ teaspoon Dijon mustard, ½ teaspoon fine sea salt, ¼ teaspoon ground black pepper
- Ladle the hot soup into bowls. Top with croutons and chopped chives if desired.croutons, fresh chives
Notes
Nutrition
FAQ
Can I make this soup ahead of time for a dinner party?
Yes — make it up to two days ahead and refrigerate it without the cheese, then reheat gently and stir in the cheese just before serving. This prevents the cheese from breaking down during storage and reheating, and the soup will taste freshly made.
How do I double or triple this recipe without it going wrong?
Use a large, heavy-bottomed pot and keep the heat at medium or medium-low throughout — a bigger volume holds heat longer and scorches more easily. Add the broth and milk in stages and give the roux extra time to absorb each addition before whisking in more.
Can I use vegetable broth instead of chicken broth?
Yes, it works well and makes the soup fully vegetarian. Low-sodium vegetable broth is the better choice here since some brands run quite salty, and the cheese will add more salt on top of that.
My soup is too thick — how do I fix it?
Stir in warm broth or milk a quarter cup at a time until it reaches the consistency you want. Cold liquid added all at once can cool the soup unevenly, so warm it briefly in the microwave first.
Can I use frozen broccoli instead of fresh?
Frozen broccoli works fine — thaw it first and pat it dry so it does not water down the soup. It will be softer than fresh broccoli and may break down more during simmering, which some people actually prefer in a creamier, less chunky soup.
More recipes to try
- Creamy New England Clam Chowder
- Sweet Corn Chowder
- Rustic Sourdough Focaccia with Rosemary and Sea Salt
- Authentic French Bread



















































