Preheat oven to 350°.
Remove white papery skin from garlic heads (do not peel or separate the cloves). Wrap each head separately in foil. Bake at 350° for 1 hour; cool 10 minutes. Separate cloves; squeeze to extract garlic pulp. Discard skins.
Place potato and onion in a saucepan; cover with water, and bring to a boil. Cover, reduce heat, and simmer 15 minutes or until potato is tender. Drain in a colander over a bowl, reserving 1/4 cup cooking liquid. Combine garlic, potato mixture, 1/4 cup cooking liquid, and remaining ingredients; mash with a potato masher.