Born in
Edinburgh, Scotland, Graham began his career with
Rangers, making his debut in the 5–3 away win against
Shelbourne in the
UEFA Cup first qualifying round first leg. He made four further appearances, all as a substitute before moving to
Dunfermline Athletic in November 1998. He joined
Inverness Caledonian Thistle on loan in January 2001, before moving to
Torquay United on loan in March that year. He settled in well at
Torquay United, helping the
Devon side retain their league status on the final day of the season in the crucial game at
Barnet. In July that year he signed permanently for Torquay and played a major role in turning the club's fortunes around, culminating in automatic promotion at the end of the
2003–04 season.
Wigan Athletic Not surprisingly his form had been noticed by larger clubs than
Torquay United and he moved to
Wigan Athletic in June 2004 for a fee of £215,000. Despite helping Wigan to the
Premier League, scoring once against Coventry City in the process, He scored nine goals in seventeen appearances for Huddersfield Town, helping them to ensure a play-off place in
League One, if not quite automatic promotion. Graham was blocked from Wednesday's 2006 tour of the United States, visa restrictions due to a minor police offence nine years previously preventing his entry to the country. Wednesday accepted an undisclosed bid for Graham from
Blackpool on 27 July 2006, but he turned down the move, instead joining
Bradford City on a five-month loan deal. After returning from his unsuccessful spell at Bradford, Graham again found it hard to break into Wednesday's first team under
Brian Laws not making a single starting appearance for the first team. On 21 March it was announced that Graham had returned to relegation threatened League Two club Torquay United on loan until the end of the season. It later became clear that Graham had been transfer listed, fined two weeks wages and sent to Torquay due to a 'serious breach of club discipline'. Graham was unable to prevent Torquay's relegation from the Football League. He finished his Wednesday career with three goals in 26 appearances.
Gillingham At the end of the
2006–07 season Graham was told he had no future at the club and made available for transfer. He joined
Gillingham on trial in July 2007. He was released by Sheffield Wednesday on 6 August 2007 and signed for Gillingham on a one-year contract the following day.
Lincoln City On 27 June 2008, Graham agreed to join former manager
Peter Jackson at Lincoln City on a six-month deal. He made his debut against
Rotherham United in a 1–0 defeat, and played ten games, eight as substitute, but failed to score during his six months. Lincoln City released him when his six-month contract came to an end. and then moved on to
Conference North outfit
Ilkeston Town. Following the winding-up of
Ilkeston Town, Graham rejoined
Sheffield F.C. debuting in the 2–0
Northern Premier League Division One South away defeat to
Carlton Town on 18 September 2010. At the start of the 2011–12 season, Graham signed for a third spell at
Sheffield F.C. ==Honours==