Ingredients

3 cups dried small white beans, such as risina or navy

1/2 cup extra-virgin olive oil

2 tablespoons unsalted butter

1 large onion, cut into 1/4-inch dice

1 celery stalk, cut into 1/4-inch dice

4 garlic cloves (2 minced, 2 crushed)

1 small dried red chile, crumbled

1 small sprig fresh rosemary, plus more, finely chopped, for garnish

1 bay leaf (preferably fresh)

8 to 9 cups homemade or low-sodium store-bought chicken stock

1/4 cup shredded peeled carrot

1/4 cup chopped fresh flat-leaf parsley

1/2 bunch Swiss chard, stemmed and thinly sliced crosswise (3 cups)

2 cups small pasta shells

Coarse salt and freshly ground pepper

Preparation

Cover beans with cold water in a large bowl. Transfer to the refrigerator, and let beans soak 8 hours (or overnight). Drain.

Heat 2 tablespoons oil and the butter in a large pot over medium-high heat until butter is melted. Add onion, celery, and crushed garlic; cook, stirring, until softened, about 5 minutes. Stir in beans, chile, rosemary sprig, and bay leaf.

Gradually stir in 8 cups stock. Bring to a boil. Reduce heat to medium-low; cover. Simmer soup until beans are tender, 1 1/2 to 2 1/2 hours (time varies depending on bean).

Process carrot, minced garlic, parsley, and remaining 1/4 cup plus 2 tablespoons oil in a food processor until vegetables and herbs are finely chopped.

Stir the Swiss chard and pasta into soup. Cook until pasta is al dente, 8 to 10 minutes. If soup seems too thick, thin with remaining cup stock to desired consistency. Discard bay leaf. Season soup with salt and pepper. Stir in carrot mixture, and garnish with chopped rosemary.