Gareth was an unused substitute in the final three league games of 1997-98.
In 1999 Ronnie Whelan brought the left-back to Greece from Liverpool, but he had a very short spell there. He hurried back home to Liverpool and made a name for himself across the Mersey with Tranmere Rovers. After 269 League games in seven years he moved to another Rovers in Doncaster and was there for four years before joining the Championship's Derby County in the 2010/11 season where he is still a regular.
Roberts appeared in twenty-nine matches in The Championship for Derby County during the 2012/13 season. He also played in three domestic cup-ties.
In the summer of 2013 the 35-year-old defender signed a one-year deal with Bury and was appointed captain. But in January 2014 Roberts had his Bury contract cancelled, which left him free to join Notts. County until the end of the season. He made a total of seventeen league appearances during the 2013/14 season, of which six were in League One with Notts. County and eleven in League Two with Bury. He spent 2014/15 in the Conference with Chester then for 2015/16 he dropped to the now re-branded National League North with Stockport County. After his first season there he took his first steps into management, joining Clitheroe in the Northern Premier League North as assistant.
Roberts joined Skelmersdale in the NPLN for 2017-18, but after five appearances for them an opportunity came up to rejoin his old Clitheroe boss at Stalybridge Celtic, a division above in the Northern Premier League. Although primarily an assistant manager and in his early forties, he was registered as a player and appeared twice in 2018/19. He remained registered as a player the following season but was not called upon. In July 2020 he left the club.
|3||On the bench|
|Club||Season||Club rank||League apps||League goals||Total apps||Total goals|
|Tranmere Rovers||1999-2000||England League Division 1||37||1||47||1|
|Tranmere Rovers||2000-2001||England League Division 1||34||0||42||0|
|Tranmere Rovers||2001-2002||England Second Division||45||2||53||2|
|Tranmere Rovers||2002-2003||England Second Division||37||3||37||3|
|Tranmere Rovers||2003-2004||England Second Division||44||1||44||1|
|Tranmere Rovers||2004-2005||England League One||40||3||42||3|
|Tranmere Rovers||2005-2006||England League One||44||2||44||2|
|Doncaster Rovers||2006-2007||England League One||30||1||31||1|
|Doncaster Rovers||2007-2008||England League One||37||3||42||3|
|Doncaster Rovers||2008-2009||England Championship||32||1||35||1|
|Doncaster Rovers||2009-2010||England Championship||42||3||46||3|
|Bury||2013-2014||England League Two||11||0||13||0|
|Notts County||2013-2014||England League One||6||0||6||0|
|Stockport County||2015-2016||National League North||N/A||N/A||N/A||N/A|
|Clitheroe||2016-2017||England Northern Premier League North||N/A||N/A||N/A||N/A|
|Skelmersdale||2017-2018||England Northern Premier League North||0||0||5||0|
|Stalybridge Celtic||2018-2019||England Northern Premier League||1||0||2||0|