McDonald started his career at Kilmarnock, playing there for five seasons between 2001 and 2006, where he played in 106 league matches, scoring 11 goals. On 18 June 2006, McDonald signed for English League One side Oldham Athletic, becoming John Sheridan's first signing as Oldham manager. On 5 January 2008, McDonald scored from in Oldham's 1–0 win over Premier League side Everton in the third round of the FA Cup. Interviewed on Match of the Day after the match, McDonald described the goal as the best of his career. In late April 2008, McDonald agreed a pre-contract to sign for Aberdeen in the summer. On 21 November 2009, McDonald was sent off during Aberdeen's 1–1 draw against Motherwell, shown a second yellow card having removed his shirt after scoring Aberdeen's equaliser. During his second season at Aberdeen, McDonald, along with teammate Mark Kerr was the subject of booing from some Aberdeen fans. McDonald said this didn't bother him, describing it as "water off a duck's back". McDonald left Aberdeen once his contract expired, and he joined fellow SPL club Hamilton Academical on 4 August 2010. On 14 May 2011, he was one of eight players released by Hamilton following their relegation to the First Division. On 23 June 2011, McDonald returned to England, signing for Morecambe of League Two. It was announced on 27 May 2013, that McDonald would be leaving Morecambe after turning down a new contract with the club. 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. On 12 February 2015, McDonald signed for Peterhead until the end of the 2014–15 season. In July 2015, McDonald signed for Junior club Kilwinning Rangers on a one-year contract.
International career
McDonald has been capped by Scotland at Under-21 level. He was capped in a Scotland B international against Poland, in 2005, at his then club ground, Rugby Park, scoring the opening goal in a 2–0 victory.