ROAST: Position a rack in the center of the oven and preheat the oven to 375ºF. Slice off the top of the garlic to expose the cloves. Drizzle with olive oil and salt and pepper. Wrap garlic head in foil, place on a baking sheet, and roast for 40-45 minutes or until garlic is tender. Let cool before squeezing.
BOIL: While the garlic is roasting, bring a large pot of water to boil. Add the peeled potatoes and boil until tender, about 15 minutes. Drain, cool, and cube.
SAUTE: Melt the butter in a large dutch oven over medium-high heat. Add the onions and leeks and saute for 6-8 minutes or until the onions and leeks soften and turn translucent.
MAKE SOUP: lower the heat to medium, add the flour, and cook for 60-90 seconds or until the flour is lightly golden. Add the 4 cups broth, milk, cream, thyme, a 1/4 teaspoon kosher salt and pepper. Let the soup reach a boil then allow to simmer for 2-3 minutes until it starts to thicken. Add the potatoes, squeeze in the roasted garlic, and parmesan cheese.
BLEND: Using an immersion blender, blend the soup until smooth. You can also do this in a traditional blender by transferring and blending in batches. If the soup is thick for your liking, add more chicken broth according to preference; you might need up to 1 cup. Taste and adjust with seasonings as desired.
SERVE: serve in bowls topped with parmesan cheese, chives, crackers, or with Gruyère grilled cheese croutons (recipe in notes.)