Cover the beans with twice as much water in a pot; soak overnight or bring to a simmer, then turn off the heat and let them soak for about 2 hours. Bring to a simmer and cook for 30 minutes, or until al dente.
In a large pot or Dutch oven, heat a good drizzle of oil over medium heat and saute the onions for about 10 minutes, until soft. Add carrots, celery, potatoes, chard and cabbage. Add tomatoes and stock, cover, and cook for about an hour, until everything is soft.
Tear the bread into chunks and add it to the pot; stir and return to a simmer. Cook for about 10 minutes, then season with salt and pepper. You can serve some of it at this point if you like, otherwise let it cool completely and refrigerate.
The next day, preheat oven to 375º. Heat the leftover soup in the casserole (I did it in my Le Cruset-style pot) in the oven, uncovered, stirring occasionally, until heated through, about 1 hour. For the last 30 minutes, do not stir; let soup brown lightly.
Drizzle with olive oil and serve.