Heat the olive oil in a large pot over medium heat. Add the pancetta and cook, stirring occasionally, until the fat begins to render, about 5 minutes. Add the onion, carrots and celery and cook, stirring occasionally, until the onion begins to soften, about 5 minutes. Add the garlic and cook, stirring, 1 minute.
Pour in the broth, beans, tomatoes, and rosemary and bring mixture to a boil. Reduce heat to a simmer, cover the pot and cook 15 minutes. Remove 1 cup of the mixture to a blender and puree until smooth. Return puree to the pot and add the pasta. Cook, stirring often, until the pasta is tender, about 10 minutes.
Divide soup between bowls and top with shaved Parmesan and oregano, if desired.