У дорослому футболі дебютував 1998 року виступами за команду клубу «Наполі», в якій провів один сезон, взявши участь лише у 2 матчах чемпіонату.
Своєю грою за цю команду привернув увагу представників тренерського штабу «Парми», до складу якої приєднався влітку 1999 року і став виступати разом з братом. Проте за два сезони своєї ігрової кар'єри в клубі Паоло вийшов а поле лише в 5 матчах чемпіонату, тому протягом сезону 2001–02 років захищав кольори команди клубу «Верона».
Влітку 2002 року, після того як не зміг допомогти «Вероні» зберегти прописку в Серії А, повернувся до «Парми». Цього разу провів у складі команди чотири сезони. З 2004 року був основним гравцем захисту команди.
До складу клубу «Наполі» приєднався влітку 2006 року і в першому ж сезоні допоміг команді повернутись до Серії А. Майже відразу Каннаваро став основним гравцем команди, а 2009 року, після того як команду покинув Франческо Монтервіно, став капітаном команди. Відіграв за неаполітанську команду 210 матчів в національному чемпіонаті.
2014 року перейшов до новачка італійської Серії A«Сассуоло», спочатку на умовах оренди, а згодом уклавши повноцінний контракт. Загалом протягом 4,5 сезонів взяв участь у 120 матчах цієї команди, після чого оголосив про завершення футбольної кар'єри.
2007 року разом із братом викликався до складу національної збірної на товариський матч проти збірної ПАР, але на поле у футболці збірної жодного разу так і не вийшов.