Cut the beans into 1 inch pieces and place in a dutch oven. Add the onion, garlic, salt, red pepper flakes, bay leaf, and enough chicken stock to generously cover. Cover the pot and bring the beans to a boil. Turn the heat to low and simmer, covered, until a knife goes straight through the beans, about 30 minutes. The beans should be very tender but not mushy.
Turn off the heat and add in the vinegar. Taste and add salt if needed. Uncover and let the beans cool to room temperature in their liquid. Be sure to cook the beans at least 2 hours in advance of serving. The cooling time allows to flavors to come together. Skim off fat and reheat before serving.