2 tablespoons extra virgin olive oil
1 large onion, chopped
2 leeks, white and light green parts only, sliced and cleaned (optional)
3 garlic cloves, chopped
1/2 fresh red chile, chopped
Salt, preferably kosher salt, to taste
2 pounds starchy potatoes (russets or Yukon golds), peeled and cut in large dice (I used 2 large potatoes)
1 slice day-old white bread, torn into pieces
A bouquet garni made with a bay leaf and 2 sprigs each parsley and thyme
2 quarts water, chicken stock, or vegetable stock
1 pound broccoli crowns, coarsely chopped (2-3 heads of broccoli, including stems)
Freshly ground pepper to taste
1/2 cup freshly grated Gruyere
1. Heat the olive oil in a large, heavy soup pot over medium heat and add the onion and optional leeks. Cook, stirring, until tender, about 5 minutes. Add 1/2 teaspoon salt and the chopped garlic and cook, stirring, for another minute, until fragrant. Add the potatoes, bouquet garni, water, and salt to taste. Bring to a boil, reduce the heat, cover and simmer 30 minutes. Add the broccoli, turn the heat up slightly to bring back to a boil, then reduce the heat again and simmer, uncovered, for 10 minutes, until the broccoli is thoroughly tender but still bright. Remove the bouquet garni.
2. Blend the soup either with a hand blender, in batches in a blender (cover the top with a towel and hold it down to avoid hot splashes), or through a food mill fitted with the fine blade. For a silky texture, strain through a medium strainer set over a bowl, using a pestle or the bottom of a ladle to push the soup through. Return to the pot, taste and adjust salt, add a generous amount of freshly ground pepper, and heat through. Stir in the 1/2 cup of cheese.