In a large saucepan over medium, heat the oil until shimmering. Add the onion and ¼ teaspoon salt, then cook, stirring occasionally, until translucent, about 4 minutes.
Add the tomato paste and garlic. Cook, stirring often, until the tomato paste darkens slightly and begins to stick to the pan, about 3 minutes.
Add the beans, rosemary, Parmesan rind (if using), 5 cups water, ¾ teaspoon salt and ½ teaspoon pepper.
Bring to a simmer over medium-high, then reduce to medium-low and cook, uncovered and stirring occasionally, until the beans are soft enough to be easily mashed with a fork, about 10 minutes.
Off heat, remove and discard the Parmesan rind (if used); let cool for about 10 minutes.
Using a blender and working in 2 batches to avoid overfilling the jar, pulse the bean mixture until creamy but not completely smooth. Return the puree to the pot and bring to a simmer over medium.
Add the pasta and cook uncovered, stirring occasionally, until the pasta is al dente (refer to the package for cooking times, but begin checking for doneness a minute or two sooner than the directions indicate).
Taste and season with salt and pepper. Ladle the soup into bowls, drizzle with oil and top with grated Parmesan.
Note: Don’t use dried pasta for this soup, as it will not cook properly. Fresh pasta is key. Look for wide, ribbon-like noodles such as pappardelle, tagliatelle or fettuccine and cut them into 2-inch lengths before use. If you can find sheets of fresh pasta, they work nicely, too—simply cut them into rough 2-inch squares. Don’t puree the beans until completely smooth; leave them with some texture.
