Gordon has previously played in his native Scotland for Hamilton and Partick Thistle, and in Poland for Jagiellonia Białystok and Pogoń Siedlce. He represented Scotland twice at the under-19 international level.
Gordon made his professional debut for Hamilton Academical on 1 February 2011, in a 0–2 defeat against St Johnstone in the Scottish Premier League. He signed a new two-year contract extension in April 2012.
Before the start of the 2012–13 season, Gordon stated his determination to become a first-team regular. In November 2012, Gordon stated that he believed the club’s position in the league table was not merited by their recent performances, while in January 2013 he stated that recent results were not a reflection of recent performances. In February 2013 he stated that the club’s upcoming “hectic” game schedule was not concerning. On 5 March 2013, in a league game against Morton, Gordon scored his first goal for the club. Gordon was awarded the ‘Man of the Match’ award for his performance in that game. Gordon later commented that he hoped his goal, and the victory, would spur the team onto a good run of form in the league. Gordon was named Hamilton’s Player of the Year for the 2012–13 season.
Ahead of the 2013–14 season, Gordon talked about the importance of home advantage in the forthcoming campaign. He signed a new two-year contract extension in February 2014. In April 2014 he was selected to the 2013–14 Championship PFA Scotland Team of the Year, alongside Hamilton teammates Anthony Andreu and Ali Crawford.
In January 2015 the club rejected a transfer bid for Gordon from Polish club Jagiellonia Białystok. In May 2016 it was announced that Gordon would leave the club at the end of the season.
Gordon signed for Partick Thistle in July 2016.
Return to Hamilton
Gordon returned to Hamilton Academical in June 2018, signing a one-year contract. He left the club following the expiry of his contract.
In May 2019 it was announced he would sign for Romanian club Dinamo București. However, in June 2019 the deal was cancelled.
Central Coast Mariners
He made his international debut for Scotland U19 in May 2011.
He was a national champion in chess as a child, choosing to concentrate on football after youth matches clashed with tournaments in the board game at weekends.