Heat butter in a leavy large pot over medium heat. Add the onion, carrots, celery and garlic. Sauté until the onion is translucent, about 10 minutes. Add the spinach; sauté for 2 minutes. Add the tomatoes and rosemary sprig. Simmer until the spinach is wilted and the tomatoes break down, about 10 minutes.
Meanwhile, blend ¾ cup of the cannelloni beans with ¼ cup of the broth in a blender until almost smooth. Add the pureed bean mixture, remaining cannelloni beans, remaining broth, garbanzo beans, salt, thyme, basil, oregano, pepper, and Parmesan cheese to the vegetable mixture. Simmer, stirring occasionally, about 20 minutes, or until vegetables are tender. Disgard Parmesan rind and rosemary sprig. Correct seasonings. Ladle soup into bowls and serve. Yield: 6 servings.