Heat olive oil in a heavy stockpot over medium-low. Add onion, carrot, celery and leek. Cover and sweat slowly for 12 minutes, stirring occasionally.
Add garlic, cook 1 minute. Add tomatoes, stir and cook 2 minutes.
Pour in cold stock, add rosemary and bay leaf. Bring to a bare simmer.
After 1 hour, add the parmesan rind and the cannellini beans.
Continue at a bare simmer for another 90 minutes to 2 hours, stirring every 20 minutes.
Fish out the parmesan rind, rosemary and bay leaf. Taste, season heavily with salt and pepper.
Serve in warm bowls with a generous glug of raw olive oil over the top, scattered parsley, and a piece of warm crusty bread.