Born in Rutherglen,[1] MacDonald played youth football for Motherwell, but was released by the club in May 2012.[2]
Having featured as a trialist against Queen's Park, Macdonald signed for Clyde on 22 October 2012.[3] After two years at Clyde, he signed for Hamilton Academical in June 2014.[4] He later spoke about his transfer, stating he was looking forward to the challenge of playing at a higher level.[5] In August 2014, MacDonald moved on loan to Dumbarton[6] until the end of the calendar year.[7] He made his Scottish Premiership debut on 28 February 2015 in a 1-0 defeat for Accies away to St Mirren, and started a further six league fixtures in the campaign.[8] On 31 August 2015, having failed to make any appearances in the opening month of the 2015–16 season, he was released by Hamilton.[9]
MacDonald signed for East Fife in October 2015, with the contract running until January 2016,[10] at which point he was signed by Scottish League One side Airdrieonians on an initial short-term deal.[11] In May 2016, he signed a new two-year contract.[12]
In June 2019 he signed for Raith Rovers,[13] helping the club to win the curtailed 2019–20 Scottish League One title, followed by reaching the promotion play-offs at the end of the 2020–21 Scottish Championship season. In May 2021, he confirmed that he was leaving the Kirkcaldy club after "the best two years of my football career" as they were turning full-time, but that arrangement did not suit him as he wished to continue his part-time work in his family's engineering business and the full-time salary offered by Raith did not benefit him financially.[14][15]
He returned to Hamilton Academical in June 2021,[16] with the club (located close to his home) having agreed to accommodate his engineering career on a full-time contract.[17] He was released in June 2022.[18]