Born in Northallerton, North Yorkshire, Hall began his career with the Newcastle Diamonds, making his debut in the Premier League in 2001, before making his Conference League debut in 2002. Hall rode in the Premier League for Newcastle in 2002, recording an average of 1.52,[citation needed] but managed an average of 7.49 in the Conference League with the Newcastle Gems. Hall spent 2003 without a Premier League ride but he was ever present for Sheffield Tigers in the Conference League, averaging 8.46 a meeting. He also rode five matches for the Boston Barracudas in the Conference Trophy, and eight matches for the Coventry Bees in the British League Cup.
His good form saw him earn a place in the Sheffield Tigers team for 2004, where he averaged 5.55 from 47 meetings. He averaged over five once again in 2005 but in a surprise move he was signed by the Peterborough Panthers for 2006 to ride in the Elite League. In 2006, Hall recorded a 4.54 average and the Panthers won the Elite League Championship with Hall playing a vital role in the second leg of the play-off final.[5] He returned to the Panthers in 2007 but his season was cut short after receiving a fractured pelvis and broken ankle in the Garry Stead Benefit Meeting at Sheffield, a few days after being dropped by the Panthers.
Hall moved from the Elite League team Peterborough Panthers at the end of the 2007 season to captain the Scunthorpe Scorpions in their first season in the Premier League in 2008. In 2008, Hall rode for the Scunthorpe Scorpions in the Premier League. He signed for Sheffield for the 2009 season. In 2011 he joined Leicester Lions as team captain, although he was released mid-season, rejoining Scunthorpe Scorpions. In 2012 he signed for the Sheffield Tigers. In 2014, Hall started the season with Redcar but received a 30-day ban for kicking Scunthorpe's Josh Auty, and was replaced by Poland's Rafal Konopka. Hall sat out of British speedway until a brief, unsuccessful spell with the Peterborough Panthers later that year.