Preheat oven to 400 degrees. Cut off and discard top quarter of garlic heads. Drizzle garlic with oil; wrap in foil. Bake until tender, 1 hour. Squeeze out garlic cloves; discard skins.
Place potatoes in a large saucepan, and cover with cold water by 1 inch; season with salt. Bring to a boil; reduce to a simmer. Cook until potatoes are easily pierced with a paring knife, 15 to 20 minutes. Drain, and return to pan. Heat over medium, stirring, until a thin starchy film covers bottom of pan. Remove from heat; add half-and-half, butter, and garlic. Mash until smooth; season with salt and pepper.
Place mashed potatoes in a heatproof bowl, and cover with a thin layer of milk; refrigerate, up to 4 hours. To heat, place over a saucepan of simmering water; stir until warm.