Ingredients

5 tablespoons extra-virgin olive oil, plus more for drizzling
5 cloves garlic, smashed
1 small onion, roughly chopped
1/4 teaspoon red pepper flakes, or more to taste
1 teaspoon finely chopped fresh rosemary
1 2 -ounce piece pancetta (optional)
5 canned whole San Marzano tomatoes, crushed by hand
Kosher salt
3 pounds fresh cranberry beans in pods, shelled (or 1 cup dried cranberry beans, soaked overnight)
2 bay leaves
1 piece parmesan cheese rind, plus 1/2 cup grated parmesan, and more for topping
2 cups small pasta, such as shells or ditalini
1 bunch kale, stems and ribs discarded, leaves chopped
1/4 cup roughly chopped fresh parsley
Freshly ground pepper

Directions

Heat 3 tablespoons olive oil in a large pot over medium heat. Add the garlic, onion, red pepper flakes, rosemary and pancetta, if using, and cook 2 minutes. Stir in the tomatoes and cook 2 more minutes; season with salt. Add the beans, 3 quarts water, the bay leaves and parmesan rind. Cover and bring to a boil, then reduce the heat to low and simmer until the beans are tender, 1 hour 30 minutes to 2 hours.

Uncover the pot and bring the mixture to a boil over high heat. Add the pasta and cook until al dente, about 8 minutes. Add the kale and cook, stirring occasionally, until tender, 5 to 6 more minutes. (The soup should be thick and creamy; thin with water, if necessary.)
Remove the bay leaves, parmesan rind and pancetta, if used. Add the grated parmesan, parsley, the remaining 2 tablespoons olive oil, and salt and pepper to taste. Top with more olive oil and parmesan.

Recipe adapted from  Food Network