Holland was born in Whalley, Lancashire, and started his football career as a trainee at Preston North End in 1993. He made just one league appearance as a substitute before signing for Premier League club Newcastle United on 20 January 1994 for a fee of £100,000. However, an eye injury sustained during an ammonia attack hindered his progress[3] and he joined Birmingham City on loan on 3 September 1996.[4] The loan was made permanent in October 1996 for a fee of £600,000. He helped Birmingham reach the Division One playoffs in 1999, however he missed a crucial penalty as they lost to Watford in a shoot out.[5] He made 88 appearances in all competitions for Birmingham, of which 70 were in the league.[6]
On 3 February 2000, Holland joined Huddersfield Town for a fee of £100,000. He scored the first goal of his professional career, a winner against Nottingham Forest, on 21 March.[7] He played regularly for three seasons, but when told by manager Peter Jackson that a new contract would not be offered at the end of the 2003–04 season, he chose to join League Two club Boston United in March 2004.[8]
After two years playing regularly, during which he made 85 league appearances, he moved nearer to his Lancashire home when he signed an 18-month contract with Conference National club Southport on 31 January 2007 on a free transfer.[9][10] Despite Southport's relegation to the Conference North at the end of the season, Holland agreed a new contract and was appointed club captain.[11] Holland was a vital part of the Southport side in the 2007–08 season. He scored his first goal for the club at Hyde United.[12] His next goal came three weeks later in Southport's 3–1 victory at his old club Boston United.[12]
On 14 November 2008 he joined Conference North club Fleetwood Town,[14] making his debut the next day in a 2–1 away victory over Stafford Rangers.[15] In March 2009, Holland joined another Conference North outfit, Burscough.[16]
He remained at Burscough until the end of the season, then joined Guiseley of the Northern Premier League. He helped that club win the title in his first season,[17][18] but was appointed assistant manager in September 2010,[19] and thereafter his competitive appearances were restricted to the substitutes' bench.[20][21] After Guiseley sacked manager Steve Kittrick in September 2013, Holland stayed on briefly as assistant to caretaker Mark Bower,[22] but a review of management structures meant he left two weeks later.[23]
In May 2015, Holland joined up with Kittrick again as assistant manager of Conference North club AFC Telford United.[24] Just five matches into the new season, with the team bottom of the table, Kittrick and Holland were dismissed.[25]
In May 2020, Holland became assistant manager at Clitheroe of the Northern Premier League Division One North-West.[26]
Outside football, Holland works in construction.[27]
International career
Holland is a former England youth and under-21 international. He won the first of his ten under-21 caps while at Newcastle.[28]