In a large pot, heat olive oil over medium heat. Add diced onion, carrots, celery, and garlic. Sauté for 5-7 minutes, until softened.
Add soaked beans, diced ham, chicken broth, bay leaf, thyme, salt, and pepper to the pot. Stir to combine.
Bring the soup to a boil, then reduce heat to low. Cover and simmer for 1.5-2 hours, or until the beans are tender. Stir occasionally.
Remove the bay leaf and taste the soup. Adjust seasoning with additional salt and pepper if needed.
Ladle soup into bowls and garnish with fresh parsley if desired. Serve warm.
Preparation Time: 15 minutes
Cooking Time: 2 hours
Calories: Approx. 350 per serving
