This is a one-pot broccoli soup thickened by blended potatoes — no roux, no cream, no separate sauce pan. The beef stock gives it more backbone than a vegetable-only base would, and Gruyere melts into the soup without the greasy separation you sometimes get from cheddar. If you want a filling weeknight soup with minimal cleanup, this is a solid choice.
The technique that matters
The potatoes are doing the work here that flour or cream would do in other recipes. For this to work, they need to be genuinely fork-tender before you blend — not just cooked through, but soft enough to break down completely. Undercooked potatoes leave the soup grainy and thin. Once you add the Gruyere, keep the heat on low and stir steadily. Gruyere melts smoothly, but if the soup is too hot when the cheese goes in, it can turn stringy or break. Pull the pot off the heat for 30 seconds if you are unsure, then stir the cheese in off the burner before returning it to low.
What can go wrong
- Soup turns out thin even after blending: The potatoes were not cooked long enough, or you used a waxy variety like red or Yukon Gold instead of starchy Russets. Russets break down and thicken; waxy potatoes hold their shape and do not. Simmer longer and test with a fork before blending.
- Cheese clumps or goes stringy: The soup was too hot when the Gruyere was added. Reduce to the lowest heat setting, or take the pot off the burner entirely, before stirring in the cheese. Add it in two or three small batches rather than all at once.
- Soup tastes flat despite seasoning: Beef stock varies a lot in saltiness between brands. Taste the broth before adding any salt, and hold back on seasoning until after the cheese is in — Gruyere adds its own saltiness. A small squeeze of lemon juice at the end can also sharpen the flavour without making it taste lemony.
- Broccoli turns an unappetizing grey-green: It has been simmered too long. Fifteen minutes at medium-low is usually enough once the broccoli goes in. If you are blending the soup anyway, colour matters less, but if you are leaving it chunky, watch the clock.
- Soup is too thick after blending: Add a splash of warm stock or water, a few tablespoons at a time, and stir over low heat. Skip the garnish — not worth the extra dish — and just serve it straight from the pot into bowls.
Make-ahead notes
This soup keeps well in the fridge for up to 4 days in a sealed container. The texture may thicken as it sits because the potato starch continues to absorb liquid; stir in a splash of stock or water when reheating over low heat. For freezing, leave out the milk and cheese, freeze the blended potato-broccoli base for up to 3 months, then stir in the milk and Gruyere after reheating from frozen. Cheese soups that are frozen fully can turn grainy when thawed, so adding the dairy fresh after reheating gives you a much better result.
Creamy Broccoli Potato Gruyere Soup (One-Pot)
Ingredients
- 2 tablespoons olive oil
- 2 stalks celery chopped
- 1 small yellow onion chopped
- 2 cloves garlic chopped
- 2½ cups beef stock
- 2 medium Russet potatoes peeled and cubed into ½-inch pieces
- 2 cups broccoli florets and tender stems, roughly chopped
- ¼ cup milk whole milk
- 1 cup Gruyere cheese freshly shredded
- ½ teaspoon fine sea salt plus more to taste
- ¼ teaspoon white pepper
- ¼ teaspoon black pepper
- ⅛ teaspoon cayenne pepper or to taste
Instructions
- Heat 2 tablespoons (30ml) of olive oil in a medium saucepan over medium heat. Add the celery, onion, and garlic and sauté for 4-5 minutes, stirring occasionally, until the onion is translucent and the celery has softened. Season with a pinch of salt and pepper. Add the cubed potatoes and stir for 1 minute to coat them in the oil. Pour in the beef stock and bring to a boil. Add the broccoli, reduce the heat to medium-low, and simmer for 15-20 minutes until the potatoes are fork-tender and the broccoli is very soft.
- Using an immersion blender, puree the soup directly in the pot to your preferred consistency — leave it slightly chunky for texture or blend until completely smooth. Reduce the heat to low and stir in the milk and shredded Gruyere until the cheese is fully melted and the soup is creamy. Taste and adjust with salt, white pepper, black pepper, and cayenne as needed. Simmer on low heat for 5 minutes to let the flavours meld. Ladle into bowls and top with extra shredded Gruyere to serve.
Nutrition
Common questions
Can I make this soup vegetarian?
Not as written — the recipe uses beef stock, which makes it non-vegetarian. Swap in a good-quality vegetable stock in the same quantity and the soup works well; just be aware the flavour will be slightly lighter and less savory, so you may want to adjust the seasoning at the end.
Does the type of milk matter?
Yes, it does. Whole milk gives the creamiest result and is what the recipe is developed with. Two percent works but produces a slightly thinner finish. Skim milk is not recommended — it can make the soup feel watery and may cause the cheese to separate more easily.
Do I need an immersion blender, or can I use a regular blender?
An immersion blender is the practical choice here because it lets you blend directly in the pot without transferring hot liquid. If you only have a countertop blender, work in small batches, fill it no more than halfway, hold the lid down firmly with a folded towel, and leave the centre cap slightly vented to let steam escape.
Try these next
- Sweet Corn Chowder
- Creamy New England Clam Chowder
- Rustic Sourdough Focaccia with Rosemary and Sea Salt
- Hearty Shepherd’s Pie


















































