Tip:Don't have at least 4 hours to soak beans? You can quick-soak them. In a saucepan, add enough cold water to cover the beans by 2 inches, bring to a boil, remove from the heat, and let soak for 1 hour.
Put the beans in a large bowl and add enough cold water to cover the beans by 3 inches. Soak for 4 to 12 hours.
Drain the beans, rinse them, and transfer to a 3- or 4-quart saucepan. Add the garlic clove, bay leaf, and 6 cups cold water. Partially cover to limit evaporation and simmer gently, stirring every 20 to 30 minutes, until the beans are tender and almost creamy inside, without being mealy or mushy, about 45 minutes to 1 hour.
When the beans are about three-quarters done, season with 3/4 tsp. salt. If at any time the liquid doesn’t cover the beans, add 1 cup fresh water. Drain the beans, reserving the cooking liquid, and discard the bay leaf.
Heat the olive oil in a 4- to 5-quart soup pot or Dutch oven over medium heat. Add the bacon or pancetta (if using) and cook until it browns. Pour the meat and fat into a small strainer set over a bowl and set the meat aside. Spoon 2 Tbs. of the fat back into the pot and return it to medium heat. Add the shallots and leeks to the pot, season with a pinch of salt and pepper, and cook until they begin to soften but not brown, 4 to 6 minutes. Stir in the thyme and cook for 1 minute.
Add the carrots, celery root, turnips, and 2 cups of the broth. Partially cover and simmer until the vegetables are just barely tender, 10 to 20 minutes. Add the beans and 3 cups of the broth, plus 1 cup of the reserved bean-cooking liquid. If you have less than 1 cup of bean liquid, adjust the broth for a total of 4 cups liquid. Return the cooked meat to the pot, if using. Stir and simmer, partially covered, for 10 minutes. Add the vinegar and salt and pepper to taste. Top each serving with a small handful of croutons and a sprinkle of parsley.
You can cook the beans 1 day ahead. Refrigerate in a covered container.