In a large pot, place the beans and add water to cover by 2 inches. Bring to a boil and boil for a couple minutes. Remove from heat, cover, and let stand for 1 hour. Drain the water off the beans and rinse them.
Add broth, ham bone, and seasonings to the beans. Bring to a boil. Reduce heat, cover, and simmer for 2 hours.
In a skillet, sauté onions, carrots and celery in oil for about ten minutes or until slightly softened. Add veggies to the soup. Cover and simmer until veggies and beans are soft.
Remove ham bone from soup. Debone ham and cut into chunks and return to the soup.
Serve with cornbread.