He started his career as an apprentice at Chelsea and made his first team debut on 5 May 1987 against Wimbledon F.C., having featured in a reserve match earlier in the day. He made a total of 138 League appearances during his time at the club, although the number of matches he played was limited by the presence of Steve Clarke. Hall was a member of the Chelsea team that won the 1990 Full Members Cup at Wembley Stadium.
He moved to Sunderland in January 1996 where he made a further 54 appearances up to the end of the 97/98 season. Signing for Swindon Town in May 1998 he played 97 games over three seasons before retiring at the age of 32 from full time football to the non league. Gareth's first season with Havant & Waterlooville. was crowned in May 2002 when he received the Player's Player of the Year award.
After captaining both the youth and reserve team aged 18 and being awarded Chelsea Young Player of the Year in 1985, Gareth made his much anticipated debut against Plough Lane in 1987.
Gareth continued to shine in his defensive midfield role and it was his fancy footwork that helped send the Blues to Wembley for the Zenith Data Systems trophy.
He attained 9 international caps for Wales.
Gareth was appointed as the assistant manager of Hayes & Yeading United F.C. in May 2007, having previously held the post with Yeading FC from December 2006. In March 2009 after another winning run the club made it to the play-offs and were given a promotion to the Blue Square Premier.