In a bowl or medium pot, cover the beans with enough water to cover by a couple inches and let soak for 6-8 hours; alternatively, bring the two to a boil, cook for a minute, then remove from heat and let stand for 2 hours. Pour off the excess water. Preheat the oven to 325F.
Put the beans into a medium pot (if they aren't already), add enough water to cover by a couple inches and bring to a simmer; cook for 30-40 minutes, until tender but still firm to the bite. Drain, reserving the cooking water. Transfer the beans to your bean pot (or a heavy baking dish) and add the onion, garlic, ketchup, brown sugar, molasses, mustard, balsamic, Worcestershire, salt and pepper. Add 2 cups of the leftover cooking water (add regular water to top it up if you need to) and stir to combine.
Bake, uncovered (this is the way I did it - the recipe didn't specify) for 4-5 hours, or until the beans are tender and the sauce is thick and sticky around the edges. If they seem too dry, add more water.