In a large heavy based saucepan/dutch oven, melt the butter over low heat & fry the leeks for 2-3 mins, or until soft.
Once leeks are soft, add garlic & stir for 30 secs, then stir through milk. Add cauliflower & potatoes then bring to a simmer.
Simmer, partially covered for 15-18 mins, or until cauliflower & potatoes are tender. Remove from heat.
Using an immersion/stick blender, blend soup until smooth (see notes) and check for seasoning.
Divide soup between serving bowls, top with fresh thyme and drizzle with olive oil if using, and serve with fresh parmesan on the side for each guest to add as they wish (see notes).