Robertson began his career as a youth player for Hearts before joining Murieston Boys Club.[3]
Cowdenbeath
Robertson signed for Cowdenbeath[4] and made his first team debut as a substitute on 5 January 2008, in a Scottish Second Division match against Ayr United.[5] In all he made 12 appearances in his debut season.
During the 2008–09 season[6] he went on loan to junior sides Stoneyburn and Rosyth.[7] Robertson was made captain of Cowdenbeath at the age of 22, for season 2011–12[8] and led the club to the Second Division title.[9] He was nominated for the PFA Scotland Second Division Player of the Year award in April 2012.[10]
St Mirren
On 6 February 2012, Robertson signed a pre-contract agreement with Scottish Premier League side St Mirren.[11] He joined them in the summer[12] and signed a two-year contract.[13] Robertson was given the number eight shirt.[14] On 4 August 2012, he made his club debut, coming on as an 80th-minute substitute in a Scottish Premier League match against Inverness, replacing Gary Teale in a 2–2 draw.[15] His first goal came on 1 December 2012, scoring the final goal in a 2–0 win over Brechin City in the Scottish Cup.[16] He was then sent out on loan to Cowdenbeath at the end of January 2013.[17]
On 29 August 2013, Robertson again returned to Cowdenbeath, this time on a permanent deal.[20] He made his 'third' debut for the club on 31 August 2013, scoring in a 3–2 win against Dumbarton.[21]
Stenhousemuir
At the end of the 2014–15 season, Roberston left Cowdenbeath and signed a one-year contract with fellow Scottish League One side Stenhousemuir.[22] After one season with the Warriors, Robertson was released by the club in May 2016.[23]
Alloa Athletic
Shortly after his release from Stenhousemuir, Robertson signed for recently relegated side Alloa Athletic.[24]
In July 2023, Robertson signed a one-year deal with Alloa until June 2024.
Edinburgh City
On 27 June 2024, Robertson signed with Edinburgh City, becoming captain at the club.[25]