- 3/4 cup dried cannellini beans (5 ounces)
- 8 cups water, plus more for soaking
- 1/2 large onion, chopped
- 1 dried bay leaf
- 2 ounces prosciutto ends (optional), cut into pieces
- 1/3 cup extra-virgin olive oil
- 1 large celery stalk, minced
- 1 medium carrot, peeled and minced
- 1 large onion, peeled and minced (1 cup)
- 1 medium leek, white and pale-green parts only, quartered lengthwise, sliced 1/4 inch thick, and washed well
- 3 garlic cloves, minced
- 2 large celery stalks, sliced 1/4 inch thick
- 2 carrots, peeled and sliced on the diagonal 1/4 inch thick
- 1 large red potato, cut into 1/2-inch pieces
- 1 medium zucchini, quartered lengthwise and sliced 1/4 inch thick
- 1/4 pound green beans, trimmed and cut on the diagonal into 1-inch pieces (about 1 cup)
- 1 can (14 1/2 ounces) whole peeled plum tomatoes, crushed and juice reserved
- 1 bunch Tuscan kale (about 5 ounces), tough stems removed, leaves cut crosswise into 1/2-inch strips
- 1/4 head savoy cabbage, cored and very thinly sliced (about 2 cups)
- 4 cups vegetable stock
- 1 rind (about 3 inches) Parmigiano-Reggiano cheese, plus freshly grated cheese for serving (optional)
- 4 ounces prosciutto ends (optional)
- 1 dried bay leaf
- 1/4 teaspoon red pepper flakes
- Coarse salt and freshly ground black pepper
- Basil pesto, for serving (optional)
For basil pesto
- 3 garlic cloves, peeled
- 2 cups loosely packed fresh basil leaves
- 3 tablespoons pine nuts, toasted
- 1/2 teaspoon coarse salt
- 1/3 cup grated Parmigiano-Reggiano cheese (grated on medium holes of a box grater)
- 1/2 cup best-quality extra-virgin olive oil
Place beans in a large bowl and cover with cold water by 2 inches. Refrigerate 8 to 12 hours, then drain. Combine beans and 8 cups water in a large saucepan. Add onion, bay leaf, and prosciutto ends, if using. Bring to a boil, then reduce heat and simmer until beans are just tender (but not mushy, as they should hold their shape in the soup), 30 to 45 minutes. Drain, reserving beans and 4 cups liquid; strain reserved liquid. Discard onion, bay leaf, and prosciutto, and cover beans.
Heat the oil in a large stockpot over medium-low heat until shimmering. Add celery, carrot, and onions, and cook, stirring often to prevent them from scorching on the bottom, until deep golden brown, about 30 minutes.
Add leek and garlic to soffrito and cook, stirring often, until soft, about 4 minutes. Raise heat to medium-high, and then add sliced celery and carrots along with the potato, zucchini, and green beans. Cook, stirring often, until vegetables are golden, about 5 minutes.
Stir in reserved bean liquid, the tomatoes and juice, kale, cabbage, stock, cheese rind, prosciutto ends (if using), bay leaf, and red pepper flakes; season with salt and black pepper. Bring to a boil, then reduce heat to a simmer. Cover and cook 1 hour.
Stir in beans and continue cooking until all vegetables are very tender, 20 to 30 minutes more.
For basil pesto, cover garlic in a small saucepan with water by 1 inch. Bring to a boil over high heat, then immediately drain and let garlic cool to room temperature.
With a large mortar and pestle, pound together basil, garlic, pine nuts, and salt until the basil is pulverized and the pine nuts and garlic are pasty, about 10 minutes. Add the cheese and pound to incorporate. Mixing vigorously, pour in the oil in a slow steady stream, and mix until combined (it will not be emulsified). Serve immediately or cover with a layer of oil and store in an airtight container in the refrigerator up to 3 days.
Ladle soup into bowls, incorporating beans and vegetables in each and top with pesto and grated cheese, if desired. The soup can be refrigerated in an airtight container up to 3 days; thin with water, if necessary, before reheating over gentle heat.