I always soak my beans overnight or at least 8 hours. This softens them, ensures even cooking, and helps create a creamy texture. Discard any shriveled beans before cooking.
Heat olive oil in your Dutch oven and cook celery, carrots, onion, and garlic until tender. This step brings out the natural sweetness and builds a flavorful base.
Stir in the ham, ham bone, and chicken stock. Bring it to a gentle boil before adding your soaked beans, herbs, and pepper.
Lower the heat, cover, and let it cook for 2-3 hours. This slow simmer allows the beans to soften and the flavors to meld beautifully.
Near the end, I remove about a cup of the soup and puree it with an immersion blender. Stir it back in for a thicker, creamier consistency without losing the chunky feel.