2 tablespoons olive oil
1 onion, chopped
2 carrots, peeled, chopped
2 celery stalks, chopped
2 garlic cloves, minced
1 pound Swiss chard, stems trimmed, leaves coarsely chopped
1 russet potato, peeled, cubed
1 (14 1/2-ounce) can diced tomatoes
1 fresh rosemary sprig
1 (15-ounce) can cannellini beans, drained, rinsed
2 (14-ounce) cans low-sodium beef broth
1 ounce piece Parmesan cheese rind
2 tablespoons chopped fresh Italian parsley leaves
Salt and pepper
Heat the oil in a heavy large pot over medium heat. Add the onion, carrots, celery, and garlic. Saute until the onion is translucent, about 10 minutes. Add the Swiss chard and potato; saute for 2 minutes. Add the tomatoes and rosemary sprig. Simmer until the chard is wilted and the tomatoes break down, about 10 minutes.
Meanwhile, blend 3/4 cup of the beans with 1/4 cup of the broth in a processor until almost smooth.
Add the pureed bean mixture, remaining broth, and Parmesan cheese rind to the vegetable mixture. Simmer until the potato pieces are tender, stirring occasionally, about 15 minutes.
Stir in the whole beans and parsley. Simmer until the beans are heated through and the soup is thick, about 2 minutes. Season with salt and pepper, to taste.
Discard Parmesan rind and rosemary sprig (the leaves will have fallen off of the stem.)
Ladle the soup into bowls and serve.