On the stovetop - Place dry beans into a large mixing bowl and cover with cold water, about 3" -4" above the beans. Let beans soak overnight. When beans have soaked overnight, drain and rinse well.
In a large stock pot or dutch oven, add bacon and cook until crispy. Remove bacon from pan and drain on paper towels. Set aside. Add onion and oil and cook until onions begin to brown. Add garlic and cook for 1 minute.
Stir in tomato paste, pepper and spices. Mix well. Add soaked beans, cooked bacon, and water and mix to combine. Heat over medium high heat until boiling. Cover and reduce heat to medium low, cooking beans for 1-1/2 to 2 hours or until they are as tender as you'd like.