W nowej drużynie zadebiutował 30 lipca, kiedy to zagrał przez dziesięć minut w wygranym 2:0 spotkaniu z RCD Mallorca. W Premier League zadebiutował natomiast 18 sierpnia w wygranym 4:0 wyjazdowym spotkaniu z Middlesbrough. Pierwszą bramkę zdobył zaś 26 grudnia w meczu z Chelsea. Już od pierwszego sezonu spędzonego w ekipie Kanionerów Campbell był jednym z podstawowych zawodników swojej ekipy. W debiutanckim sezonie został także mistrzem kraju i zdobył Puchar Anglii oraz Tarczę Wspólnoty. W następnych rozgrywkach zagrał w 33 ligowych meczach i również zdobył Puchar kraju. W sezonie 2003/04 został Mistrzem Anglii, zaś rok później zdobywcą krajowego pucharu.

8 sierpnia 2006 roku podpisał dwuletni kontrakt z Portsmouth. W nowym klubie zadebiutował 19 sierpnia w wygranym 3:0 ligowym spotkaniu z Blackburn Rovers. Pierwszą bramkę zdobył natomiast 23 grudnia w meczu z Sheffield United, w którym jego drużyna wygrała 3:1. W sezonie 2007/08 zdobył wraz ze swoim klubem Puchar Anglii pokonując w finale drużynę Cardiff City. W Portsmouth był kapitanem i wystąpił w 95 ligowych meczach, w których strzelił dwie bramki. Po sezonie 2008/2009, kiedy to skończył mu się kontrakt opuścił klub.