Set aside or prepare the stock and roasted tomatoes.
Heat a large pot or Dutch oven over medium to medium-high heat, add extra-virgin olive oil, a couple of turns of the pan. Add the prosciutto and stir a couple of minutes. Add the chopped onions, celery, carrots, garlic, and chile pepper, season with salt, and pepper. If you are using potatoes, add them here. If you are using pasta, heat a second medium pot of water to a boil for the pasta and cook according to package directions for al dente. Cool the pasta and drizzle with a touch of extra-virgin olive oil. Cover and store separately from the soup. Cover the pan and sweat the vegetables 10 minutes, stirring occasionally. Add the cannellini beans, garbanzo beans, prepared stock and prepared tomatoes. Bring the soup to a boil and add the green beans. Bring the soup back to a bubble, then turn off the heat and cool the soup. Store the soup in the refrigerator for a make-ahead meal.
To reheat the soup: Place the soup over medium-high heat. Crisp up the bread in a warm oven. When the soup comes to a boil, stir in the cooked pasta, escarole, and a little lemon zest. Turn off the heat when pasta is warmed through. Serve the soup in shallow bowls and top with cheese, a drizzle of extra-virgin olive oil, and crusty bread alongside for mopping.
For the stock:
Place the cheese rind, herb bundle, onion, celery, carrots, lemon rind, bay leaves, chicken stock, and water into a pot and bring to a bubble, then reduce the heat to a simmer. Simmer at least 1 hour, and then remove the rind, herb bundle, and vegetables with a slotted spoon or strainer.
For the tomatoes:
Heat the oven to 500 degrees F.
Arrange the tomatoes on a baking sheet or baking sheets in a single layer. Scatter the garlic among the tomatoes, dress with extra-virgin olive oil to coat and season with salt and pepper. Roast the tomatoes until they burst and skins split and begin to char, about 30 minutes. Cool the tomatoes until cool enough to handle and peel. Place the tomatoes in a bowl.