Chelsea
Gordon came through the academy system at Leeds United and was signed by Chelsea from Leeds in 2007 for compensation. He progressed through the youth ranks at Chelsea, before graduating to the reserves where he became a regular player.
Gordon signed for League One side Tranmere Rovers on an initial one-month loan deal on 25 March 2010. Rovers' manager Les Parry brought Gordon in to help beat off the threat of relegation, replacing regular left-backs Zoumana Bakayogo and Aaron Cresswell who were both suspended. He made his Football League debut for the club two days later when they fell to a 3–0 away defeat at Brighton & Hove Albion. Gordon made four appearances for Rovers during his loan spell before returning to his parent club.
Scottish Premier League club Kilmarnock signed Gordon on a short-term loan deal on 5 August 2010. He made his debut on the opening day of the season on 14 August as Killie fell to a 2–1 away defeat to Rangers. Manager Mixu Paatelainen was encouraged by his performance in the game despite the defeat. He scored his first professional goal on 10 November 2010 as Kilmarnock earned a third consecutive Premier League win against Hamilton Academical. Gordon opened the scoring with a curling shot into the top corner midway through the first half. He was instrumental in a 2–1 victory over Hibernian on 18 December, laying on two goals for Liam Kelly. His impressive form for Killie saw him and other in-form players linked with moves away from the club prior to the January transfer window.
Gordon's loan spell was ended prematurely by his parent club on 3 January 2011; he had been a key member of Paatelainen's team that held fourth position in the Scottish Premier League. The club cited that they would prefer Gordon to play the second half of the 2010–11 season on loan in England. He had hoped to extend his stay with Kilmarnock. He left the Ayrshire club on the back of a ten-game run which included seven wins and two draws, and had made 18 league appearances, scoring once, in addition to three Scottish League Cup games.
Chelsea sent Gordon out on loan just three days after his return from Kilmarnock. He joined Championship strugglers Scunthorpe United until the end of the season. However, his debut was delayed due to a hamstring injury he had collected while on loan with Kilmarnock. The announcement followed Gordon signing a two-and-a-half-year extension with Chelsea. Due to the injury, he did not finally join up with Scunthorpe until 7 February. His eventual debut arrived on 12 February in a 1–0 away defeat to Cardiff City. Scunthorpe eventually ended the season bottom of the Championship and relegated to League One. Gordon made 14 league appearances during his stint at the club.
On 18 July 2011, it was leaked that Peterborough United were interested in signing Gordon from Chelsea. Further to this, it was confirmed that a deal was in place to sign an unnamed England under-20 left-back once the player returned from international duty. The deal was finally confirmed on 17 August, with Gordon due to stay with the Posh until 2 January 2012. He made his only league appearance for the club as a 57th-minute substitute for Mark Little in their 7–1 rout of Ipswich Town on 20 August. He also made a League Cup appearance four days later, but lost the tie 2–0 at home to Middlesbrough. Finding his chances limited, Gordon returned from his loan spell in late September.
Gordon returned to Kilmarnock for a second loan spell on 11 January 2012. He revealed how Chelsea manager André Villas-Boas persuaded him to return to Scotland in an attempt to force his way into the Blues' first team on the completion of the loan. He made his second debut for the club in a 0–0 draw with Aberdeen at Pittodrie on 14 January.
Gordon helped the club to their first ever Scottish League Cup win as they defeated Celtic 1–0 in the 2012 Scottish League Cup Final at Hampden Park on 18 March, earning his first silverware as a player. In the summer of 2012, Gordon returned to Chelsea having made 20 further appearances for Killie.
Birmingham City signed Gordon on a six-month loan from Chelsea on 10 August 2012. He made his debut on 25 August in a 2–0 loss at Watford. This was to be his solitary league appearance, though he did feature in Birmingham's 3–2 extra time loss to Coventry City in the League Cup on 29 August. On his return to Chelsea in January 2013, Gordon was released by the club without making a single first-team appearance.