Rinse and drain the dry beans and place in a large pot or bowl with 6 cups (1.5 L) water and soak for 6-8 hours or overnight or alternatively, bring beans and water to a boil and cook for 2-3 minutes, then remove from the heat, cover and let stand for one hour. Drain excess water.
Place soaked beans in a medium pot and add enough water to cover beans by 2-inches (5 cm). Cook uncovered for 35-45 minutes or until the beans are tender, not mushy, adding more water as needed.
While beans are simmering, prepare sauce in a large, thick-bottomed, oven proof pot or Dutch Oven. Heat pot on medium heat and add bacon. Cook until lightly golden, about 5-10 minutes. Remove excess fat, leaving about 1 Tbsp (15 mL) in the pot with the bacon.
Add onions and garlic and continue to cook for another 8-10 minutes until onions are golden.
Stir in remaining ingredients except for fresh thyme. Bring mixture to a boil, reduce heat and gently simmer for 5 minutes. Reserve until beans are ready.
Preheat oven to 325°F (170°C).
When beans are tender, drain then add to prepared sauce in oven proof pot, ensuring beans are covered by the sauce. If not, add water or stock until beans are covered. Cover and bake in preheated oven for 4 hours or until the beans reach desired consistency, stirring occasionally. Add water or stock if more moisture is needed. Season to taste with salt and pepper, stir in the fresh thyme and serve!