Heat a heavy-bottomed stock pot over medium heat and add olive oil and bacon. Cook bacon until crisp, remove from pan and drain all but 2 Tbsp fat. Add leek, onion, celery and carrot and sauté until onions are translucent, about 5 minutes. Add garlic and sauté 1 minute more. Add stock, thyme and ham hock and bring to a simmer. Cover pot and simmer for 45 minutes. Add cabbage and simmer 15 minutes more. Puree 1 tin of navy beans with 1 cup of soup liquid and add to soup. Add remaining tin of beans to soup. Remove ham hock to cool. Season to taste.
Slice bread into strips and lay in a deep baking or casserole dish. Shred meat fro ham hock and sprinkle over bread. Ladle soup over bread and let cool. Chill soup overnight.
To serve, preheat oven to 375F (190C). Cover soup dish and heat until bubbling at edges, about 40 minutes. Serve immediately.