Born in Seaham, County Durham, Pearson started his career with the Sheffield United youth system and signed a professional contract with the club on 3 July 1995. After three years with United he dropped into non-League football after signing for Stalybridge Celtic on 22 March 1996. He was with Football Conference side Gateshead for two seasons; in 1996–97 he made 34 appearances and scored two goals and in 1997–98 he made four appearances and scored one goal. He then had spells with Spennymoor United and SeahamRed Star before joining Whitby Town in 1999 after playing for them in a pre-season friendly. Pearson played for Durham City during the 2000–01 season before returning to Whitby in April 2001. He joined Third Division Darlington on a one-year contract with the option of another year on 6 August 2001 after a trial. He made his debut in Darlington's 2–1 home victory over Macclesfield Town on 16 October 2001, but was substituted for Phil Brumwell in the 32nd minute. Pearson impressed as a substitute in Darlington's 2–0 defeat at Peterborough United in the FA Cup on 21 January 2002, leading to a run of six matches in the team before picking up an injury. During this period he scored his first goal for the club with a 25-yard free kick in a 3–2 home defeat to Luton Town on 26 January 2002. He finished his first season at Darlington with 11 appearances and one goal. Pearson struggled to enter the team early in the 2002–03 season with injuries, eventually making his first appearance in a 2–0 win at Wrexham in the FA Cup on 16 November 2002. He established himself in the starting line-up in the final third of the season and on 12 April 2003 scored his first goal of the season in a 5–1 victory over Shrewsbury Town with a 35-yard shot that made its way through a crowded penalty area. He completed the season with one goal in 22 appearances. Pearson was a regular for Darlington in the early stages of the 2003–04 season and scored his first goal of the campaign in a 4–2 defeat at Rochdale on 30 August 2003. Because of injury troubles he was mostly a substitute for the rest of the season, which he finished with 19 appearances and one goal. Pearson signed for newly relegatedConference National side York City on a one-year contract on 5 July 2004. He was sent off for violent conduct in the 69th minute of York's opening match of the 2004–05 season, a 2–0 away defeat to Aldershot Town on 14 August 2004. A shoulder injury kept him out of the team from early November 2004 onwards and was released by the club on 17 March 2005, although he was told he could return for pre-season. He had made 13 appearances for York. He re-signed for former club Durham City in June 2005 before joining Northern League outfit Bedlington Terriers in January 2006, making his debut in a 5–1 defeat at West Auckland Town. Pearson was re-signed by Gateshead, by this time in the Northern Premier League Premier Division, on 31 March 2006. He made six appearances for Gateshead before the end of the 2005–06 season. He signed for Horden Colliery Welfare as a player-coach in July 2006 and later that year was playing for Sunderland Nissan and remained with them until 2009, when the club folded. He spent the following two seasons with Spennymoor Town.