Jackson started his career as a trainee at Crewe Alexandra in 1992. During his development at Crewe, Jackson went on to play for his home town club Runcorn FC, during a loan spell and played several key games for Runcorn FC in the GM Vauxhall Conference. He signed for Bury in August 1993 on a free transfer where he stayed until 1997 making 125 league appearances and scoring nine goals. In March 1997 he signed for Preston North End for a fee of £125,000. In seven years at the club, he made 251 league appearances and scored 17 goals. While at Preston, he had a one-month loan spell at Tranmere Rovers from December 2002 to January 2003. Then, in May 2004, he signed for Tranmere Rovers on a free transfer, making 84 appearances in two years at the club.
In June 2006, Jackson joined Blackpool on a free transfer. He scored his first goal for Blackpool on 19 August 2006 in a 4-2 league win at Bristol City. He became an instrumental part of the Blackpool team and captained the side in their promotion to the English Championship in May 2007. Jackson picked up an injury in February 2008 which kept him out for two months before he made a late-season comeback. On 7 May 2008, however, he was released by Blackpool. After his goal against Bristol City in the league he scored further goals against Norwich City in the FA Cup and Southend United in the League Cup.
On 23 June 2008, it was reported that Jackson was about to sign a two-year contract with Shrewsbury Town. The deal was completed the following day, along with the club record transfer for Grant Holt. Jackson was a regular in the Shrewsbury side, notably scoring in a 7-0 win over Gillingham, but did not play again after a 3-1 defeat away at Luton Town on 21 February 2009.
It was announced on 13 January 2010 that Jackson had retired from playing due to a persistent knee injury, as a specialist advised him not to risk his long term health by continuing, but he was to remain at the club until the end of the 2009-10 season in a coaching capacity.
Jackson continued in his coaching role at Shrewsbury, and was named as caretaker manager for the final match of the 2009/10 season following the dismissal of Paul Simpson. He resumed his coaching role under new manager Graham Turner, and was appointed as caretaker manager again following his resignation on 22 January 2014.
Jackson was later given the managerial position on a contract running until the end of the 2013/14 season on 21 February 2014, however he was unable to save Shrewsbury from relegation to League Two. Despite this, the club opted to retain his services as assistant to new manager Micky Mellon, alongside goalkeeping coach Danny Coyne.