Early career McDonald was born in
Dandenong, and began his career at
Doveton SC, before joining Cranbourne Soccer Club (known today as Casey Comets) and the
Victorian Institute of Sport. He made three appearances for the
Morwell-based side loan from the
Victorian Institute of Sport after being spotted by then Falcons' coach
Stuart Munro, who asked VIS head coach
Ernie Merrick to help McDonald cover an injury crisis at the club. He is the youngest senior player in the history of the Gippsland Falcons and the third youngest player to make their senior debut in Australian football history.
Southampton McDonald started off as a trainee with
Southampton in 2001 where he managed only three appearances (one first-team start and two as a substitute), being loaned to
Huddersfield Town where again he had chances to play first team football. McDonald scored just once for Huddersfield, in a 2–1 defeat to
Tranmere Rovers and
AFC Bournemouth (scoring once against Shrewsbury). Upon reaching the end of his contract with
Southampton he signed for
Wimbledon on a rolling monthly contract. He had talks with
Drogheda United in 2003 but failed to agree terms.
Motherwell McDonald went on trial with
Scottish Premier League club
Dundee United, but failed to win a contract and instead signed for league rivals
Motherwell in January 2004. After signing for Motherwell, McDonald had a slow start, scoring only one goal during the second half of the 2003–04 season despite impressive performances. The following season he scored 15 goals. McDonald famously scored two late goals against
Celtic at the end of the
2004–05 season to deny them the
Scottish Premier League title which was instead won by their arch-rivals
Rangers. In the
2005–06 season, McDonald scored 11 goals in 35 appearances, and in the following season, scored 15 goals in 32 appearances. His goal against
Falkirk on 25 November 2006, was the 5000th goal in the
SPL since its formation in 1998. In total, McDonald scored 45 goals in 125 appearances for Motherwell. In December 2007, McDonald was named
BBC Sportsound Player of the Year for his eight
man-of-the-match performances throughout the
2006–07 season.
Celtic In March 2007, after a £400,000 bid from
Rangers had been rejected in January, Motherwell accepted an offer of £700,000 from McDonald's boyhood favourites Celtic, with McDonald moving to
Celtic Park at the start of the
2007–08 season. McDonald made his competitive debut for
Celtic in the first leg of the
UEFA Champions League third qualifying-round match against
Spartak Moscow at
Luzhniki Stadium, assisting
Paul Hartley for Celtic's goal as the game finished 1–1. His first goal for the club came in the second leg of the tie at
Celtic Park. A mistake by Spartak defender
Roman Shishkin allowed McDonald to slip in and hit the ball first time past
Stipe Pletikosa. This match also ended 1–1, but Celtic won 4–3 on penalties. Just days later in an away league match against
St Mirren, McDonald latched onto a long
Gary Caldwell pass to lob
Chris Smith from a tight angle and score his first
SPL goal for the club. He followed that up with the winning goal in the final minute of their 2–1
UEFA Champions League group-stage win against
A.C. Milan on 3 October and another
last minute winner just days later at
Gretna. In a pulsating clash with
Old Firm rivals
Rangers on 16 April 2008, McDonald set up his Dutch strike partner
Jan Vennegoor of Hesselink for a last minute goal that kept Celtic in the 2007–08 SPL title race, before scoring a double and winning a penalty scored by
Barry Robson in another vital 3–2 Old Firm victory eleven days later. At the end of the season, McDonald was rewarded with a new five-year deal at Parkhead and was nominated for SPL Player of the Year. He scored 25 goals in 36 league appearances in his first season at Celtic and was the top goalscorer during the
2007–08 season, beating the next highest goalscorer and strike partner Vennegoor of Hesselink by 10 goals. This breakthrough season included two hat-tricks; against
Dundee United and former club
Motherwell. In total, McDonald scored 31 times in his first season at
Parkhead. McDonald wore the number 27 shirt in his first season with Celtic, but in July 2008 he was given number 7, which he also wore at Motherwell. After a sluggish start to the
2008–09 season, not scoring in any of the first four games, he opened his account against Motherwell, scoring Celtic's third goal in a 4–2 win at
Fir Park. On 5 November 2008 McDonald scored the opening goal in a 1–1 draw with
Manchester United at
Celtic Park in the Champions League with a well executed lob over
Ben Foster. Only three days later, McDonald continued to haunt his former club Motherwell with a low strike from outside the penalty area. Celtic won this match 2–0. On 27 December 2008, he scored the only goal in a 1–0 victory at
Ibrox during the
Old Firm derby, helping his team bring the three points home. On 27 January 2009, McDonald scored twice in the dramatic 11–10
penalty shoot-out victory against
Dundee United to send Celtic through to the
League Cup final, which they won 2–0 against archrivals Rangers. This win gave McDonald his first domestic cup trophy at Celtic. McDonald scored his 49th and 50th Celtic goals at
Pittodrie against Aberdeen on 2 May as Celtic ran out 3–1 winners. On 3 July, McDonald was handed the Celtic captaincy for a pre-season game against
Brisbane Roar, due to the injury to
Stephen McManus and the departure of vice-captain
Jan Vennegoor of Hesselink. On 5 August, he scored the opening goal against
Dynamo Moscow in Russia, a game which Celtic went on to win 2–0, to progress to the final qualifying round of the Champions League. On 5 December, McDonald scored his 50th league goal for Celtic against Aberdeen. McDonald scored a total of 64 goals for Celtic.
Middlesbrough In early January 2010, Celtic rejected a transfer bid from
Premier League side
Wigan Athletic for the Australian striker, but on 1 February – transfer deadline day – Celtic sold McDonald to
Middlesbrough for a reported £3.5 million. He joined up with
Gordon Strachan, whom he played under at Celtic and Southampton, and also rejoined four of his former teammates,
Willo Flood,
Barry Robson,
Chris Killen and
Stephen McManus. On 16 February 2010, he missed a penalty against Blackpool in a 2–0 loss. McDonald scored his first Middlesbrough goal in the
Tyne-Tees derby against
Newcastle on 13 March. After a return from injury, McDonald scored three times in four games against Crystal Palace, Sheffield Wednesday and Coventry City. McDonald made a bright start to the
2010–11 season scoring twice in his first two games against Ipswich and Chesterfield in the
League Cup. On 9 November 2010, he scored the second in Middlesbrough's 2–0 win over
Scunthorpe. On 1 March 2011, McDonald scored the opener in his team's 1–1 draw with Nottingham Forest, he followed this by scoring the leveller in his team's 2–1 victory at home to Watford on 19 March 2011. McDonald followed this by scoring twice in two games, in two draws against
Ipswich Town and
Barnsley. On 23 April 2011, McDonald scored a hat-trick in Middlesbrough's 2–4 away win at Hull. McDonald scored his first goal of the 2011–12 season in a 3–1 victory over Barnsley on 16 August 2011. On 5 November 2011, he got his first in 12 matches, scoring the only goal in Middlesbrough's 1–0 victory over
Watford at the Riverside. He scored a brace in Middlesbrough's 2–2 draw with Blackpool. On 10 December, McDonald scored the only goal of the game against Brighton, after a defensive error from
Casper Ankergren. McDonald continued his impressive form, as he scored Boro's second in a 3–2 victory, over Welsh side Cardiff City. McDonald then scored in the New Year's Eve clash against Peterborough at the Riverside, the game finished 1–1. On 6 October 2012, McDonald made his first appearance of the season against
Watford, as a first half sub, coming on for teammate
Justin Hoyte, in which McDonald scored the winner in a 2–1 victory. Continuing from the Watford game, McDonald came off the bench to score a brace in Middlesbrough's 2–1 win against Bolton. His form continued as he scored the winning goal in a Tees – Wear derby against Sunderland resulting in a 1–0 victory to the Boro.
Millwall On 23 July 2013, McDonald signed a two-year contract with
Millwall. He scored his first goal for the club in a 1–0 victory over
Charlton. McDonald left Millwall on 24 January 2015, with the club cancelling his contract.
Motherwell (second spell) On 26 February 2015, McDonald signed for
Motherwell for a second time, agreeing a contract until the end of the
2014–15 season. He made his second debut on 28 February 2015, in a 2–1 win against
Inverness CT. He scored his first goal since returning to the club on 7 March 2015, scoring with a free-kick in a 1–1 draw against
Kilmarnock. On 21 July 2015, McDonald signed a new one-year contract, with the option of a second. On 1 July 2016, McDonald signed a new one-year contract to stay at
Motherwell. Later that month, Motherwell rejected an offer from an unnamed
A-League side, later revealed to be the
Western Sydney Wanderers, for McDonald. In May 2017, Motherwell announced that McDonald would be leaving the club after he had decided not to take up the option of another year on his contract.
Dundee United Following his departure from Motherwell, McDonald was expected to return to Australia. However it was announced in July 2017 that he had signed for
Scottish Championship club
Dundee United on a one-year deal. After one season with United, McDonald was released at the end of his contract.
Partick Thistle On 15 February 2019, McDonald came out of retirement to sign for
Partick Thistle until the end of the season. McDonald scored on his debut for Thistle after coming off the bench in a 2–0 away win over Alloa. McDonald went on to play a massive role in helping
Partick Thistle avoid relegation from the
Scottish Championship, scoring 7 goals in 13 appearances in all competitions for the Jags. McDonald left the club at the end of the season to return to Australia.
Western United On 8 May 2019, McDonald returned home to Melbourne and signed for new
A-League club
Western United ahead of the
2019–20 A-League season. His first goal for the new club came against Melbourne Victory in Round 4, scoring the winner in a come-from-behind 3–2 triumph.
Brisbane Roar On 16 January 2020, McDonald joined
Brisbane Roar under
Robbie Fowler, signing an 18-month contract. He left on 24 April 2021 after a two-week absence from Roar fixtures.
Western Sydney Wanderers On 28 April 2021, McDonald signed to the
Western Sydney Wanderers for the remainder of the
2020–21 A-League season. ==International career==