Heat the olive oil in a large heavy pot over medium heat. Add the onion, carrot and celery. Sweat slowly for 12 minutes, stirring, until soft and slightly sweet. Do not brown.
Add the garlic and tomato paste, cook 1 minute.
Crush a third of the beans against the side of a bowl with a fork. Add all the beans (crushed and whole) to the pot.
Add the tinned tomatoes, stock, parmesan rind and bay leaf. Bring to a gentle simmer.
Simmer uncovered for 90 minutes, stirring occasionally, until the broth thickens and tastes deep.
Discard the parmesan rind and bay leaf. Bring back to a strong simmer.
Add the pasta. Cook 12 minutes (or to packet time) until al dente.
Season with salt and pepper. Ladle into shallow bowls. Top with parmesan, parsley, a drizzle of olive oil. Serve with crusty bread.