McDonald signed for St Johnstone on 13 June 2013. He made his debut for the club on 18 July 2013, in a 1–0 win away to Rosenborg in the Europa League. On 6 January 2014, McDonald signed a new contract, keeping him at St Johnstone until 2015, with an option for another year. He came on as a substitute as they won the 2014 Scottish Cup Final. On 2 February 2015, McDonald was released by St Johnstone.