Ingredients:

  • 2 tbsp (30 g) unsalted butter
  • 1 medium yellow onion, finely diced (about 160 g)
  • 2 cloves garlic, minced (about 6 g)
  • 3 tbsp (24 g) all-purpose flour
  • 3 cups (720 ml) low-sodium chicken or vegetable broth
  • 1 lb (450 g) broccoli florets, cut into small, even pieces (about 5 cups)
  • 1 cup (240 ml) whole milk
  • 1 cup (240 ml) half-and-half (or heavy cream for a richer finish)
  • 8 oz (225 g) sharp cheddar, freshly grated from a block (about 2 cups)
  • 1/2 tsp (3 g) kosher salt, plus more to taste
  • 1/4 tsp (1 g) freshly ground black pepper

Instructions:

  1. Dice the onion and mince the garlic. Cut the broccoli into small florets, about 1 inch across.
  2. Grate the cheddar and set it aside on a plate.
  3. Melt the butter in a 4-quart heavy pot over medium heat. Add the onion and cook for 4 to 5 minutes, stirring occasionally, until soft and translucent with no browning.
  4. Add the garlic and stir for 30 seconds, until fragrant.
  5. Sprinkle in the flour and stir constantly for about 1 minute, until it forms a pale, slightly grainy paste.
  6. Slowly whisk in the broth, about 1/2 cup at a time at first, scraping the bottom of the pot as you go. Once smooth, add the rest.
  7. Add the broccoli and raise the heat to medium-high until the liquid begins to bubble. Reduce to a steady simmer and cook uncovered for 10 to 12 minutes, until a fork slides easily into the stems.
  8. For a creamier texture with some broccoli still visible, pulse with an immersion blender 3 to 4 times, or ladle 2 cups of soup into a blender, blend until smooth, and return it to the pot.
  9. Reduce the heat to medium-low. Stir in the milk and half-and-half, then warm gently for about 3 minutes. Do not let it boil.
  10. Turn the heat to low. Add the cheese a handful at a time, stirring after each addition until fully melted before adding more. The soup should look glossy and smooth.
  11. Season with the salt and pepper, then taste and adjust. If the soup is too thick, stir in a splash of warm broth or milk. If it is too thin, simmer gently on low for a few minutes, stirring often.
  12. Ladle into bowls and serve right away.