Career
Stirling Albion
Graham joined Stirling Albion from Glasgow Amateurs U-21 squad. His debut for Stirling Albion was on 30 July 2005 against Ayr United and scored his first senior club goal on 27 August 2005 against Alloa Athletic. Hamilton & Morton
After his contract with Stirling Albion expired, Graham joined Hamilton Academical for the 2010-2011 season, signing on a one-year contract.
Upon reaching the end of his year-long deal at Accies, Graham signed for the club that he supports – Greenock Morton.
After breaking his cheekbone in the Renfrewshire Cup final, Graham made his début as a substitute against Dundee on 27 August 2011. Dumbarton
After one season at Cappielow, Graham was released and signed for nearby Dumbarton along with team-mate Ross Forsyth.
Where he was made captain He scored his first goal for the club against East Stirlingshire in November 2012. At the end of the 2012-2013 season Graham signed a new one-year contract with Dumbarton.
In May 2014 Graham agreed to another new one-year contract.
He made his 100th appearance for the club on the final day of the 2014-2015 season in a 2–2 draw with Raith. After winning the club"s player of the season accolade he renewed his contract for the 2015-2016 season. He was replaced by Darren Barr as club captain in July 2015 and left the club by mutual consent a month later
Ayr United
On 27 August 2015, Graham signed for Ayr United on a one-year contract.