The strong cheeses provide a good opportunity to enjoy a full-flavored ale that doesn't dominate the food. Try Fuller's ESB from London, or Dock Street Ale from Philadelphia. The caramel flavors of Guinness stout would also work well, bringing out the sweetness of the onions.
To prepare soup, remove white papery skins from garlic heads (do not peel or separate cloves); cut off tops, leaving root ends intact. Place garlic in a shallow roasting pan. Drizzle 1 tablespoon oil over garlic; sprinkle with 1/4 teaspoon salt and 1/4 teaspoon pepper. Cover with foil. Bake at 400° for 20 minutes. Add shallots to pan. Drizzle 1 tablespoon oil over shallots; sprinkle with 1/4 teaspoon salt and 1/4 teaspoon pepper. Cover and bake at 400° for 25 minutes or until tender and browned. Cool. Squeeze garlic to extract pulp; peel shallots. Discard skins. Set garlic pulp and shallots aside.
Heat 1 1/2 tablespoons oil in a Dutch oven over medium heat; add onion. Cover and cook 15 minutes or until lightly browned, stirring occasionally. Add garlic pulp, peeled shallots, and wine. Reduce heat; simmer, uncovered, 5 minutes.
Stir in broth, potato, and thyme; bring to a boil. Cover, reduce heat, and simmer 20 minutes or until potato is tender. Cool slightly. Place half of potato mixture in a blender; process until smooth. Pour pureed mixture into a large bowl. Repeat procedure with remaining potato mixture.
Return pureed mixture to pan; stir in milk, 3/4 teaspoon salt, and 1/2 teaspoon pepper into pureed mixture. Cook over medium heat 5 minutes or until thoroughly heated.
Preheat oven to 400°.
To prepare croutons, place bread slices in a single layer on a large baking sheet. Lightly coat tops of bread with cooking spray. Bake at 400° for 8 minutes or until lightly browned. Sprinkle cheeses evenly over bread slices, turning once. Bake 3 minutes or until cheese melts. Serve warm with soup.