If broccoli soup has ever felt a bit boring to you, this version will change your mind. The secret is Gruyere cheese — its nutty, slightly sweet flavour melts into the soup and gives it a richness that cheddar simply cannot match.
I built this soup around ingredients I almost always have on hand: broccoli, potatoes, celery, onion, and garlic. Nothing exotic, nothing hard to find. The potatoes do double duty here — they thicken the soup naturally when blended, so there is no need for cream or flour. The result is a velvety, full-bodied broccoli potato soup that feels indulgent but stays surprisingly light.
The whole thing comes together in one pot in about 45 minutes, most of which is hands-off simmering. I like to leave it slightly chunky for texture, but you can blend it completely smooth if that is more your style.
This is the kind of soup that makes a cold evening feel like a gift — a steaming bowl topped with a little extra shredded Gruyere is all you need.
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
What Makes This Broccoli Potato Gruyere Soup Special
Most broccoli cheese soups lean on sharp cheddar and heavy cream to do the heavy lifting. This version takes a different path. Gruyere cheese brings a complex, nutty sweetness that cheddar cannot replicate — it melts beautifully into a silky base without turning greasy or overpowering the broccoli.
The other key decision here is using Russet potatoes as a natural thickener. When blended, their high starch content creates a velvety body that mimics cream-based soups without the heaviness. You get a soup that feels rich and satisfying but will not leave you in a food coma.
This is a true one-pot recipe with no roux, no cream, and no fussy steps — just simple sautéing, simmering, and blending. Forty-five minutes from cutting board to table.
Equipment You’ll Need
- Medium saucepan (3-4 quart / 3-4 litre) — large enough to hold all the ingredients with room to blend without splashing. A Dutch oven works too, but a saucepan keeps this feeling like the quick weeknight meal it is.
- Immersion blender — essential for pureeing the soup directly in the pot. You control the texture completely — a few pulses for chunky, longer for silky smooth. A countertop blender works but requires careful batch blending of hot liquid.
- Chef’s knife and cutting board — for prepping the potatoes, broccoli, celery, onion, and garlic. Consistent cube sizes on the potatoes ensure even cooking.
- Box grater or microplane — shredding the Gruyere yourself from a block makes a real difference. Pre-shredded cheese contains anti-caking starches that can prevent smooth melting and leave the soup grainy.
Tips for Best Results
- Cut your potatoes into even ½-inch cubes. Uneven pieces mean some will turn to mush while others stay hard. Consistency here directly affects the final texture after blending.
- Do not rush the sauté step. Give the celery and onion a full 4-5 minutes to soften and become translucent. This base layer of sweetness is what separates a great soup from a flat one.
- Add the cheese off high heat. Reduce to low before stirring in the Gruyere. High heat causes cheese proteins to seize up and turn stringy. Low and slow keeps it silky.
- Shred your own Gruyere. Pre-shredded bags are coated in potato starch or cellulose to prevent clumping in the bag — but that same coating prevents smooth melting in your soup.
- Blend to your preference, but leave some texture. A few small chunks of potato and broccoli give each spoonful more interest than a completely smooth puree.
Substitutions and Variations
- Cheese: Comté is the closest substitute for Gruyere — same nutty, melty qualities. Aged Swiss or Emmental also work well. Avoid pre-sliced processed Swiss.
- Stock: Swap beef stock for vegetable stock to make this vegetarian. Chicken stock also works and produces a lighter flavour. For the richest result, use homemade stock.
- Milk: Whole milk gives the best body. You can use half-and-half for extra richness, or unsweetened oat milk for a dairy-lighter version — though you will still need the Gruyere.
- Potatoes: Yukon Gold potatoes work as a substitute — they are slightly waxier and will produce a less starchy but still creamy result. Avoid red potatoes as they do not break down as well.
- Spice it up: Add ½ teaspoon of smoked paprika with the cayenne for a subtle smoky undertone, or stir in a teaspoon of Dijon mustard with the cheese for added sharpness.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 3 days. The soup will thicken significantly as it cools — this is normal and comes from the potato starch setting.
- Reheating: Warm over medium-low heat on the stove, stirring frequently. Add a splash of stock or milk to thin it back to your preferred consistency. Avoid boiling, which can cause the cheese to separate.
- Freezer: Freeze for up to 2 months, but do so before adding the cheese and milk. Thaw overnight in the fridge, reheat gently, and stir in fresh Gruyere and milk. Dairy-based soups can become grainy when frozen and reheated, so this two-stage approach gives the best results.
What to Serve With This
- Crusty sourdough bread — perfect for dipping and soaking up the last of the broth. A thick slice, lightly toasted, is all you need.
- Simple green salad — something bright and acidic like an arugula salad with lemon vinaigrette cuts through the richness of the Gruyere beautifully.
- Grilled cheese sandwich — use Gruyere on sourdough for a soup-and-sandwich pairing that doubles down on the nutty cheese flavour.
- Roasted garlic crostini — thinly sliced baguette rubbed with roasted garlic and toasted until crisp adds crunch and another layer of garlic flavour.
Frequently Asked Questions
Can I use cheddar instead of Gruyere?
You can, but the soup will taste quite different. Cheddar is sharper and tangier, while Gruyere has a nutty sweetness and melts more smoothly. If you do use cheddar, choose a mild or medium variety and shred it finely so it melts evenly.
Why does my soup taste flat?
The most common reason is underseasoning. Potatoes absorb a lot of salt, so you will likely need more than you think. Add salt gradually after blending and taste as you go. A tiny pinch of cayenne also lifts the whole bowl without making it spicy.
Can I make this soup without an immersion blender?
Yes. Carefully ladle the soup in batches into a countertop blender, filling it no more than half full each time. Remove the centre cap from the blender lid and cover with a folded kitchen towel to let steam escape. Blend until smooth and return to the pot before adding the cheese and milk.
Is this soup gluten-free?
Yes, provided your beef stock is certified gluten-free. There is no flour or roux in this recipe — the potatoes provide all the thickening naturally. Always check stock labels, as some brands contain wheat-based ingredients.
Why did my cheese turn stringy or clumpy?
This happens when cheese is added to soup that is too hot. Always reduce the heat to low before stirring in the Gruyere. Add it in small handfuls, stirring continuously until each addition is fully melted before adding more. Using freshly shredded cheese from a block rather than pre-shredded bags also prevents clumping.
Can I add other vegetables to this soup?
Absolutely. Cauliflower is a natural addition and blends seamlessly with the broccoli. Leeks work well in place of or alongside the onion for a milder, sweeter allium flavour. Carrots add a touch of natural sweetness but will change the colour of the finished soup.
The Story Behind Broccoli Cheese Soup
Broccoli cheese soup became a staple of American home cooking in the mid-20th century, rising to popularity alongside the convenience food movement when canned cream soups and processed cheese made rich, creamy soups accessible to everyday cooks. The classic version typically uses cheddar and a butter-flour roux.
This recipe draws on a more European tradition by using Gruyere, the famous Swiss cheese that has been produced in the canton of Fribourg since the 12th century. Gruyere is the cheese that gives French onion soup its signature melted cap and makes fondue possible — it was born to melt. Pairing it with broccoli and potatoes brings Old World technique to a New World comfort classic.
If you make this broccoli potato Gruyere soup, I would love to hear how it turned out — leave a star rating and a comment below to let me know what you thought!

















































