1. Rinse beans and soak in cold water overnight (6-8 hours).
2. Pour off soaking water, rinse beans, and place in a pot with 6 cups water. Add onion, garlic, carrot, celery, potato, yam, bay leaves, thyme, and salt. Bring to a simmer and cook, loosely covered, until beans are tender (1-2 hours).
3. Remove bay leaves and add remaining ingredients. Using an immersion blender, puree until smooth. Add extra water as needed to reach desired texture.