In a large dutch oven, heat oil. Add onion, celery, carrots, and garlic. Cook until onions are translucent, about 5 minutes.
Add ham bone, diced ham, broth, and water.
Simmer on low for 30-45 minutes.
Add beans and simmer for another 30 minutes. Taste broth, add salt if needed.
Remove ham bone and serve.