2mediumRusset potatoespeeled and cubed into ½-inch pieces
2cupsbroccoliflorets and tender stems, roughly chopped
¼cupmilkwhole milk
1cupGruyere cheesefreshly shredded
½teaspoonfine sea saltplus more to taste
¼teaspoonwhite pepper
¼teaspoonblack pepper
⅛teaspooncayenne pepperor 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.