01 -
Sort through your dried beans carefully, removing any stones or odd-looking pieces. For overnight soaking: cover beans with water by 2 inches in a large pot, let sit overnight, then drain and simmer in fresh water for 1 hour. For quick method: boil beans for 3 minutes, rest 1 hour, then simmer 30-60 minutes until they start getting tender. Save that cooking water - you'll need it later!
02 -
Heat your oven to 300°F. In a heavy Dutch oven or deep baking dish, mix the drained beans with 1 cup of their cooking liquid, diced onion, ketchup, brown sugar, molasses, mustard, vinegar, salt, pepper, and bay leaf. If using bacon, fold it in now. Nestle the ham bone deep into the mixture if that's your choice instead.
03 -
Cover tightly and slide into the oven for 4.5 to 5 hours. The beans should become incredibly tender and the sauce should thicken to a rich, glossy consistency. Stir every hour or so, adding more reserved cooking liquid if things look dry. This is where the magic happens - patience pays off!
04 -
Remove the bay leaf and discard it. If you used a ham bone, carefully lift it out, shred any good meat with a fork, and stir it back into the beans. Taste and adjust the seasoning - maybe a pinch more salt or a splash more vinegar. The beans should be rich, sweet, and deeply flavorful.