Sauté the aromatics: In a large pot, melt butter over medium heat. Add the chopped onion and sauté for 4–5 minutes until soft and translucent. Stir in the garlic and cook for 1 minute, until fragrant.
Make the roux: Sprinkle in the flour and whisk constantly for 1–2 minutes, until lightly golden and slightly nutty in aroma.
Add liquid and vegetables: Gradually pour in the stock, whisking to avoid lumps. Add the broccoli, grated carrot, salt, pepper, and paprika. Bring to a boil, then reduce heat and simmer uncovered for 15 minutes, until the broccoli is tender.
Finish with dairy and cheese: Stir in the half & half (or milk) and shredded cheddar cheese. Mix until the cheese melts and the soup becomes creamy. Adjust seasoning to taste.
Serve: Ladle into bowls and enjoy warm, optionally topped with extra cheese or croutons.
Video
Notes
Cheese Options: Use sharp or extra-sharp cheddar for the best flavor. You can also mix in mozzarella, Gouda, or Monterey Jack for a creamier texture.
Texture Tips: For a smooth soup, blend half or all of the soup using an immersion blender. For a chunkier version, leave it as is.
Dairy Substitutes: To make it lighter, use low-fat milk. For a richer soup, replace half the milk with cream.
Vegetarian Option: Use vegetable stock instead of chicken stock.
Storage: Store leftovers in an airtight container in the fridge for up to 3–4 days. Reheat gently on the stovetop over low heat, avoid boiling to prevent curdling. This soup can also be frozen (without the cheese and milk) for up to 2 months.