Cook's note: You can save preparation time by using canned cannellini beans. Use two (15 1/2-ounce) cans. Use one can of beans whole; puree the beans in the other can. If you use canned beans, skip the first three steps of the recipe.
1. Place dried beans in a large pot. Cover with cold water and allow to rest overnight or for 8 hours. Drain.
2. Cover beans with cold water and bring to boil. Reduce heat and simmer, covered, for 40 minutes or until beans are thoroughly cooked and softened, but don't overcook them. Drain beans, keeping the cooking water for later use.
3. Divide the beans in half. Leave half whole and process the other half until pureed in a food processor fitted with the metal blade. Set aside.
4. Heat oil in a large soup pot on medium heat. Add parsley, garlic, celery, carrots and onions. Cook 30 minutes on low heat, stirring occasionally.
5. Add tomatoes and stir to combine. Cook 15-25 minutes. Add the whole beans and the cabbage (or Swiss chard) to the soup. Add enough water to cover the ingredients and bring to a boil on high heat. Simmer 30 minutes.
6. Add bean puree to soup. Stir to combine. Add enough boiling water to make the soup liquid. The exact amount of liquid will vary; you need to balance the amounts of liquid to the bread so that when the bread absorbs the liquid, the soup is very thick. Stir in bread and season with salt and pepper to taste. Simmer 4 minutes, or longer if you wish the bread to further dissolve into the soup. If you wish, stir in a little extra-virgin olive oil, or use it as a garnish on top of the soup after it has been ladled into individual bowls.
grams saturated fat, no cholesterol, 290 milligrams sodium, 14 percent calories from fat