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 tablespoon 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.
Lay cubed bread in a deep baking or casserole dish. Shred meat from ham hock and sprinkle over bread. Ladle soup over bread and let cool. Chill soup overnight.
To serve, preheat oven to 190°C. Cover soup dish and heat until bubbling at edges, about 40 minutes. Serve immediately.