A from-scratch, homemade Broccoli Cheddar Soup recipe! This is cozy homemade comfort food at its best. Recipe includes a how-to video!
Creamy, cheesy, flavored with butter and sharp, off-the-block cheddar… can you think of a better way to eat broccoli?
I used to live less than half a mile from Panera bread and got my broccoli cheese soup fix there, but now that Zach and I have moved, the closest Panera is half an hour away. It’s been… an adjustment…
What’s that saying? “Necessity is the mother of invention”? On-demand broccoli soup is kind of a necessity around here, especially while the weather is still blustery and cold, so it was time to finally develop my own recipe. As usual, it took a lot of testing.
There were some versions tried with bacon (that worked so well with my chili recipe and potato soup but fell flat here, and even bacon couldn’t convince Zach to eat a soup made primarily of broccoli) and some versions with garlic, but surprisingly they all lost out to this simple, fresh-tasting version.
Ingredients & Substitutions
- Butter. Butter, rather than oil, gives our soup a flavorful base.
- Onion. A yellow onion is my preference, but a sweet onion or white onion will work as well.
- Flour. For making our roux. More on that below.
- Chicken broth. You could substitute vegetable broth for a vegetarian version.
- Whole milk and heavy cream. I usually keep both of these ingredients in my fridge so it’s what I use. However, you could substitute both of these ingredients for half and half instead.
- Broccoli! The most important ingredient for broccoli cheddar soup! Cook until tender.
- Grated carrot. Grate your own or buy “matchstick” carrots from the store.
- Spices. Salt and pepper, sugar (a tiny bit goes a long way), onion powder, ground mustard, and garlic powder. I went back and forth about using freshly minced garlic in this recipe (you can, cook 2-3 minced cloves until fragrant after your onion is cooked), but thought it bullied the fresh flavor of the broccoli a bit and ultimately decided on garlic powder instead.
- Cheese. Don’t use pre-shredded cheese, which will not melt properly or smoothly. Grate your own. I recommend buying 16 oz of sharp cheddar. Grate half into your soup, and save the other half for serving!
A good soup needs a good bread to go with it. Serve this with my homemade biscuit recipe, dinner rolls, or garlic knots. Or, even better, wait until Thursday when I’ll be sharing my homemade bread bowl recipe!
Notes on Preparation
Making a Roux
Our broccoli cheddar soup starts with a simple roux that helps to thicken it. If you’ve made my baked mac and cheese or corn chowder, you’ve done this before. After melting the butter and sautéing the onion, whisk flour into the pot until it’s smooth. This is the base for our roux.
Slowly whisk in some of the milk until thickened. Don’t add it all at once or it won’t thicken as nicely.
Making a roux is honestly simple, but if you haven’t done it before it may be helpful to read the recipe over before beginning and to watch the video below the recipe.
Cutting the Broccoli
I prepare the broccoli much the same way that I do for my broccoli salad. I buy a pound of broccoli and then chop off the stems and cut the florets into small pieces (see photo below), which I’ll then go over briefly with a large knife in a mincing motion.
Don’t worry if you still have some larger pieces of broccoli remaining, we’re going to be using a blender to puree the soup before it’s finished cooking, which will give it a smooth and creamy texture. Puree as much or as little as you’d like to suit your own preference.
More Recipes You Might Like:
Let’s bake together! Head on over to my YouTube channel where I’ve already uploaded hundreds of recipe videos that you can watch for free!
Broccoli Cheddar Soup
- 5 Tablespoons unsalted butter
- 1 medium yellow onion diced (about 1 cup)
- 1/3 cup all-purpose flour 42g
- 2 cups low sodium chicken broth 475ml
- 1 ½ cups whole milk 355ml
- 1 ½ cups heavy cream 355ml
- 4 cups broccoli florets¹ cut into small pieces (270g)
- 1/3 cup peeled grated carrot (this is usually 1 grated carrot for me, may substitute pre-cut “matchstick” carrots) 35g
- 1 teaspoon salt plus more to taste, as needed
- 1/2 teaspoon sugar
- 1/2 teaspoon ground black pepper plus more to taste, as needed
- 1/2 teaspoon onion powder
- 1/2 teaspoon garlic powder
- 1/2 teaspoon ground mustard
- 8 oz sharp cheddar cheese + additional for topping grated off the block (do not use pre-shredded cheese as it is likely it will clump and not melt properly) 226g + additional for topping
- Place butter in a large soup pot or Dutch oven over medium heat and cook until melted.
- Add diced onion and cook until softened and translucent (about 5 minutes).
- Sprinkle flour over the butter/onion and whisk until smooth and no lumps remain.
- Slowly, while whisking, add milk to the mixture. Whisk until combined and mixture is thickened.
- Add chicken broth, heavy cream, broccoli, carrots, salt, sugar, black pepper, onion powder, garlic powder, and ground mustard. Whisk until combined.
- Bring to a boil over medium/high heat while stirring frequently. Reduce heat to a simmer and cook until thickened.
- Transfer the soup in batches to a blender or (preferred) use an immersion blender to puree. Puree as much of the soup as you would like until desired consistency is reached, I usually use an immersion blender and puree about 75% of the soup, leaving some pieces of broccoli intact.
- Add grated cheese and stir until melted (keep heat on low). Add additional salt and pepper to taste and serve.