Soak. In a large mixing bowl, soak the beans in about three times their volume of lukewarm water, for about 12 hours. Drain the beans, add them to a large stockpot, and fill the pot with enough cold water to go a couple inches above the beans.
Simmer briefly. Turn the heat to high and bring to a boil. Then reduce the heat to low, and simmer the beans for about 20 minutes. (Use a large metal spoon to remove any foam that has appeared on the surface during this time.) Drain the beans and return them to the pot.
Add remaining ingredients, more water and cook. Now add enough water to go several inches above the beans and add the onion, garlic and bay leaves. Turn the heat to high and bring to a boil. Then reduce the heat to low, and simmer until the beans are tender, about 1½ hours.