Place dry beans in a large bowl, pour cold water to about 4 inches over top, and stir in salt. Cover bowl and allow the beans to soak overnight.
The next day, drain beans reserving 4 cups water. Set aside for a moment.
In a Dutch oven or large skillet, cook bacon pieces over medium heat until crisp. Remove bacon and add onion and cook until slightly softened. Add garlic and cook 1 minute until fragrant.
Stir tomato paste, molasses, sugar, vinegar, Worcestershire, paprika, chili powder, cayenne, bay leaf, bacon, 4 cups reserved water, and beans into onions and bring to a simmer over medium-high heat.
Remove beans from heat and transfer to a 4-qt slow cooker. Cook beans on low 6-7 hours or on high 3-4 hours until beans are tender. Add more water as needed if liquid is evaporating too quickly. Remove lid from slow cooker during last 45 minutes of cooking to allow the sauce to thicken up.
Remove bay leaf and discard. Season beans with salt and pepper to taste and serve warm. Enjoy!