Rinse and sort through the beans, discarding any rocks or debris. Set aside.
Dice the onion, celery, and carrots. Mince the garlic.
Add the oil to a large stock pot over medium heat. When hot, stir in the onion, celery, and carrot.
Cook vegetables until softened, about 5 minutes. Stir in the garlic and cook 30 more seconds.
Add the water and Italian seasoning to the pot along with the dried beans.
Bring to a boil over medium heat, reduce to a simmer, and cover with a lid. Cook, stirring every 30 minutes, for 2 hours or until beans are mostly tender.
Add the ham, salt, and pepper to the soup. Continue simmering for 30 minutes to an hour more, or until beans are fully cooked.
Add additional water or chicken stock to the pot to thin the soup to your desired consistency just before serving. Taste and season with additional salt and pepper, if needed.