Heat olive oil and butter in a large saucepan over medium heat.
Add the onion, garlic, carrots, and celery, and cook until the onion is translucent.
Introduce the diced tomatoes, chicken broth, rosemary, bay leaf, and Parmesan rind.
Stir everything together and bring to a simmer.
Add the cannellini beans and pasta to the saucepan.
Cook the mixture until the pasta is slightly tender, usually about 10 minutes.
Season the soup with salt and pepper to taste.
Continue to cook for an additional 5 minutes to blend the flavors.
Remove the Parmesan rind and bay leaf.
Ladle the soup into bowls and garnish with chopped parsley.