In a medium bowl, cover the beans with cold water and let soak overnight. Drain and rinse the beans. Alternatively, cover the beans with cold water and bring to a boil. Remove from the heat and let stand for 1 hour, then drain and rinse the beans.
In a medium saucepan, combine the beans with the bay leaf and thyme sprigs, cover with 4 cups of cold water and bring to a boil over moderately high heat. Reduce the heat to low and simmer, stirring occasionally, until the beans are tender, about 1 hour. Discard the bay leaf and thyme, season the beans with salt and let them stand in their cooking liquid.
In a large saucepan, cook the bacon over moderate heat, stirring occasionally, until crisp, about 5 minutes. Add the carrots and onion and cook, stirring, for 1 minute. Add the chicken stock and bring to a boil. Stir in the escarole, cover and reduce the heat to low. Simmer the soup until the escarole is just tender, about 10 minutes. Add the beans and their cooking liquid and season with salt and pepper. Cook the soup until the beans are heated through.
In a small bowl, combine the garlic, parsley and olive oil. Stir the mixture into the soup just before serving.
Make Ahead: The soup can be refrigerated for up to 1 day. Rewarm gently before serving.