Preheat oven to 350 degrees. Drain and rinse beans. Place in medium large pot with onion, bay leaf, and enough water to cover by 2 inches. Bring to a boil, reduce to barely a simmer, cover and cook very gently 30 minutes. Add 1 teaspoon salt and 1/2 teaspoon pepper, and a little more water if water in pot does not cover beans, cover, and continue cooking 3050 minutes, until the beans are very soft. Drain beans, reserving cooking liquid. Discard onion halves and bay leaf.
Meanwhile, slice off 1-inch from the pointy end of each garlic head. Place garlic heads, cut side up, in center of large sheet of foil. Drizzle over 1 teaspoon olive oil and sprinkle with 1/2 teaspoon salt. Bring ends of foil up and fold foil over to close. Roast in oven for one hour until soft and golden. Unwrap foil and allow garlic to cool. When cool, hold each head over blender and squeeze gently to extract the soft pulp. Discard garlic skins. Add 1/2 cup bean cooking liquid and puree until smooth. Add cooled beans and puree, scraping down sides frequently and adding more cooking liquid if necessary, until smooth but still fairly thick. Drizzle in olive oil with machine running and puree until satiny. Taste and adjust seasoning. Serve.