Rinse the dried navy beans under cool water and soak overnight or boil for 2 minutes, then let sit for an hour. Drain and set aside.
Heat olive oil in a skillet over medium heat. Add onion, carrots, and celery, cooking for 5-7 minutes until soft. Add minced garlic and sauté for another minute.
In the crockpot, combine soaked beans, sautéed vegetables, ham, broth (or water), thyme, bay leaf, and black pepper. Stir well.
Cover and cook on low for 8 hours or high for 4 hours until beans are tender.
During the last 30 minutes, taste the soup and add salt if necessary. Remove the ham bone, shred the meat, and return it to the soup.
Stir the soup before serving. Enjoy hot with crusty bread.
Notes
This soup freezes well; leave out salt until reheating for best flavor.