Place the olive oil, onion, carrot, and celery in a large soup pot on medium heat. Sauté until the onion is translucent and the vegetables begin to soften, 2-3 minutes.
Add the pancetta and cook for 10 minutes, turning the meat and vegetables over from time to time. Add the tomatoes and their juice and adjust the heat so that the juices simmer very gently for 20 minutes. Put the cannellini beans in the soup pot, stir to coat, and cook for 4-5 minutes. Add the broth, cover the pot, and cook for 5 minutes, bringing the broth to a gentle boil.
Scoop out 1/2 of the beans and place them in a small bowl. With the back of a spoon, mash up the beans into a chunky paste. Once mashed, add it back into the soup and stir to combine. Check the soup for density. There should be enough liquid to cook the pasta in the soup. If not, add more broth at this time or thin with water and bring back to a boil.
Once the soup is at a steady boil, add the pasta. Cook until the pasta is tender. Add the butter and Parmigiano Reggiano and stir to combine. Turn off the heat. Taste. Season with salt and pepper as necessary. Stir the parsley into the soup. Scoop soup into individual bowls and top with freshly grated Parmigiano Reggiano and serve.