Dundee Born in
Carnoustie, McDonald was initially signed as a youngster by
Dundee and worked his way into the first team for the Scottish Championship side. He had been the subject of a £75,000 bid from
Celtic in June 2006 which was rejected by Dundee. By May 2008, Dundee manager
Alex Rae told the media that he would let McDonald leave the club if a suitable offer was received. On the same day it was revealed that Dundee had rejected an offer of £250,000 from English
Championship side
Burnley.
Burnley Burnley eventually had a second offer of £500,000 accepted, and McDonald was signed on a three-year deal, scoring his first goal for the club in a 3–0 win over
Derby County at the end of November 2008. In Burnley's 2008–09 League Cup campaign McDonald scored both goals in a 2–0 win over Arsenal at Turf Moor. His second strike against the Gunners was particularly precise, an outside of the right foot strike from the edge of the area. His career with Burnley suffered after he left the stadium without permission (after being substituted) during a 6–1 defeat against
Manchester City in April 2010. Out of the Burnley first team, he signed for Championship rivals
Scunthorpe United on a one-month loan in October 2010. This was followed by another loan to League One side
Notts County in February 2011, running until the end of the 2010/11 season.
Sheffield United At the end of the 2010–11 season McDonald was released by Burnley and undertook a trial with League One
Sheffield United leading to a one-year contract with the
South Yorkshire club. Initially used as a substitute he gradually became the focus of the team's midfield and a regular starter as the season progressed and the team contested for a promotion place. An injury during the play–off semi-final victory against
Stevenage meant that McDonald missed the
play-off final, which was lost on penalties to
Huddersfield. Out of contract, it was initially uncertain whether he would return to the club, but following negotiations he signed a new two-year contract with Sheffield United at the end of July 2012 whilst in Malta on their pre-season tour.
Wolverhampton Wanderers in 2014 On 14 August 2013 McDonald moved to fellow League One club
Wolverhampton Wanderers, signing a three-year contract for an undisclosed fee (reported to be £750,000). After making his Wolves debut as a substitute in a 2–1 win at
Bristol City on 17 August 2013, he scored his first goal two weeks later in a 3–1 win at
Port Vale on 31 August. McDonald became a regular starting player in the Wolves' side that set a new League One points record (103) as it won the division. At the conclusion of the campaign, he won both the Fans' as well as the Players' Player of the Season Awards, having been already also named in the PFA's League One Team of the Year. At Championship level, he remained a regular member of Wolves' team, featuring in every league game as the club missed out on the play-off on goal difference. Over the summer he attracted interest from fellow Championship club
Fulham, who reportedly bid for the midfielder after failing to agree a new contract at Wolves. He admitted to being aware of the interest and said "it is obviously a bit unsettling not knowing where you are going to be". He subsequently agreed a new three-year deal at Wolves that was due to run until summer 2018.
Fulham Despite his new contract agreement with Wolves, McDonald eventually moved to Fulham after the 2015–16 season, signing for the London club on 22 July 2016 for an undisclosed fee in a three-year deal (with the option of an additional year). He scored his first goal for Fulham in a 2–2 draw with
Cardiff City on 20 August 2016. He said in July 2021 that he had undergone the operation, having received a kidney from his brother Fraser. In August 2021 McDonald revealed that his kidney disease was
IgA nephropathy, a chronic disease characterised by the gradual build-up of an antibody in the kidneys' filtration system that causes a gradual deterioration in kidney performance.
Dundee United and afterwards After leaving Fulham at the end of the 2020–21 season upon the expiry of his contract, McDonald went six months without a club. During January 2022, he trained with
Dundee United, and signed a short-term contract with them on 1 February 2022. Released by United at the end of the season, he went on trial with
Derby County, playing for them in a pre-season friendly but missing out on a contract due to injury. He subsequently trained with
Fulham's under-21 team and planned to do some coaching.
Exeter City On 31 January 2023, McDonald signed for League One club
Exeter City on a short-term contract until the end of the season having been training with the club for a short period. McDonald scored his first goal for Exeter on 25 February, in a 2–0 win against
Cambridge United. and came eight days after his daughter was born.
Bradford City On 20 June 2023, McDonald signed for
Bradford City on a free transfer on a two-year deal. He became player-caretaker manager on 4 October 2023. On 30 August 2024, McDonald's contract with Bradford City was terminated by mutual consent.
Return to Exeter City On 13 November 2024, McDonald re-signed with
Exeter City on a short-term contract until January, having been training with the League One side after his departure from Bradford City. On 16 January 2025, McDonald signed a contract extension until the end of the season. ==International career==