Born in Liverpool, Harrison attended Liverpool F.C.'s youth academy. He never made a first-team appearance, but when second-choice goalkeeper Chris Kirkland was injured, Harrison sat on the substitutes' bench as cover for Jerzy Dudek. His first game on the bench was on 15 May 2004 in the Premier League season finale 1–1 home draw with Newcastle United, which qualified the team for the UEFA Champions League. On 21 January 2005, Harrison moved to Championship club Leeds United on a one-month loan as part of the deal that saw fellow goalkeeper Scott Carson transfer permanently in the other direction. Released by Liverpool that summer, Harrison played for Wolverhampton Wanderers's reserves against Blackburn Rovers, and earned a two-month contract with the Championship club on 4 November 2005.
Chester, Hereford and Southport
When Harrison's Wolves contract expired, he joined Chester City of League Two until the end of the season on 24 February 2006; two days earlier while on trial, he saved a penalty in a reserve draw with Tranmere Rovers. He finally made his professional debut on 7 March in a 1–1 home draw with Torquay United during Chris Mackenzie's injury lay-off, with his performance being good enough for Chester to terminate the contract of fellow goalkeeper Stéphane Gillet. He made four consecutive appearances over the month, concluding on 26 March in the Cross-border derby with Wrexham when he saved a penalty from Matt Crowell in a 2–1 away loss. Mackenzie then returned to the Blues' goal, and Harrison played no further part. After Harrison left Chester, he joined newly promoted League Two team Hereford United. In their first game of the season, a 2–0 win at Stockport County on 5 August, he came on for the last 19 minutes due to Wayne Brown's groin injury. Six days later, he left Edgar Street on a free transfer to Conference National team Southport.
The New Saints
In the summer of 2007, Harrison joined Welsh Premier League champions The New Saints. He signed a new contract with TNS in May 2012. In June 2016, Harrison was inducted into the Welsh Premier League's Hall of Fame. At the time, his statistics read as 286 league appearances, 6 league titles, 4 Welsh Cups and 5 Welsh League Cups. In July 2017, Harrison became the Welsh Premier League player with the most European appearances when he surpassed former teammate Pip Baker's 31 in an extra-time win over Gibraltar's Europa FC. On 10 January 2020, Harrison made his 400th league appearance for TNS as they won 2–0 at Newtown.
Personal life
When Harrison was four in 1989, his father Gary died aged 27 in the Hillsborough disaster, alongside his uncle Stephen. In May 2009 for the 20th anniversary of the tragedy, he captained a Liverpool Legends team in a charity match against celebrities at Anfield.