Preheat your oven to 400°F (200°C). Slice the top quarter-inch off the head of garlic to expose the cloves. Place it on a small piece of foil, drizzle with olive oil, and season with a pinch of salt and pepper. Wrap the garlic in the foil and roast for 35-40 minutes, until the cloves are soft and fragrant. Let it cool slightly.
While the garlic roasts, place the cubed potatoes in a large pot and cover with cold, salted water. Bring to a boil and cook for 15-20 minutes, or until the potatoes are very tender when pierced with a fork. Drain well.
In a large pot or Dutch oven, melt the butter over medium heat. Add the chopped onion and sliced leek. Cook, stirring occasionally, for 6-8 minutes, until they have softened.
Sprinkle the flour over the onions and leeks and cook for 1 minute, stirring constantly. This will cook out the raw flour taste.
Gradually whisk in the broth until smooth. Then stir in the milk, cream, and thyme. Bring the mixture to a simmer and cook for 5 minutes, allowing it to thicken slightly.
Squeeze the soft, roasted garlic cloves out of their skins and into the pot. Add the drained potatoes and the Parmesan cheese. Stir to combine.
Use an immersion blender to blend the soup directly in the pot until it is smooth and creamy. Alternatively, you can carefully transfer the soup in batches to a regular blender and blend until smooth, returning it to the pot.
Taste the soup and season with salt and pepper as needed. If the soup is too thick, you can stir in a little more broth until it reaches your desired consistency. Serve hot, garnished with fresh chives.