Preheat oven to 425°F (218°C). For a convection oven, reduce cooking temperature by 25ºF (15ºC). Cut the cauliflower into florets and place them on a large baking sheet.
Drizzle with 2 Tbsp olive oil and sprinkle 2 tsp kosher salt and freshly ground black pepper.
Toss so that the florets are lightly coated with oil. Spread the florets out into a single layer on the baking sheet. Place the cauliflower in the oven, uncovered, for 20-30 minutes, or until the top is lightly golden brown.
When the cauliflower is done roasting, set aside.
While cauliflower is in the oven, cut a quarter inch off the bottom of the leeks, removing the roots completely and then slice the leeks in half lengthwise.
Rinse each half under running water. Use your fingers to flex the leek and rinse any dirt or sand that may be clinging between the layers while still keeping the layers relatively intact. Line up the halves and cut into ½ inch (1.3 cm) pieces.
Clean the cremini mushrooms with a slightly damp paper towel or kitchen cloth to remove any dirt. Remember mushrooms absorb water like sponges, and they won't brown nicely when cooked if they absorb too much water. If you have to clean a lot of mushrooms, quickly rinse with running water and pat dry with a kitchen towel. Do not leave the mushrooms in water.
In a large pot (I use a Dutch oven), heat 2 Tbsp butter (28 g) on medium heat. Crush 2 cloves garlic (or add 2 cloves minced garlic) into the pot. Tear a bay leaf in half (for more aroma & flavor) and add to the pot.
Once the ingredients become fragrant, add the chopped leek and ¼ tsp kosher salt and sauté until tender. The salt will help the leeks become tender faster.
Once the leeks are tender, add the cremini mushrooms and fresh thyme. Pinch the stem near the top with the fingers of one hand. Pinch down the length of the stem with the fingers of the other hand from top to bottom and the leaves should break off where they meet the stem.
When the mushrooms are tender, add 3 Tbsp all-purpose flour. Continuously stir the bottom of the pan so that the flour doesn't burn.
When you don't see any bits of flour, gradually add 2 cups (480 ml) milk while stirring the bottom of the pan. Then add 3 cups (720 ml) vegetable broth.
Add the roasted cauliflower and bring to a low simmer, NEVER a full boil. Once the soup reached to a low simmer, cover and simmer for 20 minutes (once again, don't let it boil!). Note: when you add milk to the soup, you don't want to boil the soup; otherwise the milk will curdle. Using full fat milk helps prevent curdling.
Turn off the heat and remove bay leaf. Puree the soup until it reaches your desired consistency with an immersion blender (or you can transfer to a blender). If you use a regular blender, fill it no more than half way with the soup (do in batches). Place the lid on the blender and cover the hole with a towel. Start blending and slowly lift up the towel to let some of the steam escape.
Add ½ to 1 cup sharp cheddar cheese and stir until melted. Taste the soup and season with kosher salt and freshly ground black pepper to your taste. If you need to reheat the soup, bring the soup to a low simmer on medium low heat, not a full boil. Serve and top with chopped chives and a dash of olive oil. Enjoy!
You can keep the leftovers in an airtight container or in the pot and store in the refrigerator for up to 3 days.