Look over the beans carefully for any stones or other debris.
Rinse thoroughly and place in a large stockpot with the water, garlic, and onion.
Bring to a boil, then reduce the heat to a simmer.
Cook slowly until the beans are very tender - at least 2 ½ hours.
Add the salt.
While the beans are cooking, make the relish. Combine all ingredients in a small bowl and stir together thoroughly.
When the beans are very tender and ready to serve, remove and discard the onion and stir in the salt.
Serve the beans with the tomato relish on the side along with a dollop of sour cream and lime wedges.
Notes: Adding salt too early in the cooking process makes beans tough. Don’t add salt until the beans are tender. Cool beans before storing in the refrigerator. Warm beans can sour if refrigerated before cooling.