"Ribollita is a traditional thick Tuscan bread soup, almost a stew, made with cabbage, cannellini beans, and stale bread. Each family has its own recipe with many variations, but always the distinctive flavor of cabbage and beans. Drizzle with some Tuscan extra-virgin olive oil before serving."
Drain and rinse cannellini beans and place in a large pot. Pour in enough water to cover; add salt. Cover and cook over medium-low heat until tender, 1 1/2 to 2 hours.
Drain the beans, reserving the cooking liquid. Set aside 1/2 of the beans. Puree the remaining beans in the pot using an immersion blender.
Heat oil in a large saucepan over low heat. Cook onion, celery, and carrot until soft, 10 to 15 minutes. Add 1/2 of the reserved cooking liquid, pureed beans, potatoes, kale, Swiss chard, Savoy cabbage, and tomato puree. Bring to a boil. Cover and simmer until potatoes are soft, about 40 minutes. Season with salt and pepper.
Stir whole beans into the saucepan with the remaining cooking liquid. Cook for 15 minutes. Remove soup from heat; let stand for 15 minutes.
Chop bread and add to the soup a few pieces at a time so it soaks up the liquid and thickens the soup. Bring soup back to a boil. Remove from heat.