Donaldson turned professional in 2012 after winning the 2012 EBSA European Snooker Championship and gained a two-year tour card for the 2012–13 and 2013–14 snooker seasons. He reached his first ranking event semi-final at the 2017 Welsh Open. His first professional tournament win came at the non-ranking 2019–20 Championship League.
Donaldson practises at Locarno Snooker Club in Edinburgh.
Donaldson did not participate in the 2012 Wuxi Classic or the 2012 Australian Goldfields Open which both were held before the EBSA European Snooker Championships. His first match as a professional was a 4-2 win over Liam Highfield in the minor-ranking PTC Event 1. The tournament formed part of the Players Tour Championship events, of which Donaldson played all ten tournaments. His best result came in European Tour Event 1, where he beat Ricky Norris and Chris Norbury, before losing 3–4 to Michael Wild in the last 32. He was placed 70th on the Order of Merit.
His best run of results in a ranking event came at the Shanghai Masters Qualifying where he defeated Chen Zhe and Yu Delu, but then lost 1–5 to Nigel Bond. Donaldson's season ended when he was beaten 6–10 by Thepchaiya Un-Nooh in the first round of World Championship Qualifying. He finished his first year on tour ranked world number 89.
In his opening match, Donaldson defeated Tom Ford 5–1 to qualify for the 2013 Wuxi Classic in China. In his first appearance in the first round of a ranking event he defeated Gareth Green 5–3 and then beat Jimmy Robertson 5–4, before losing 5–1 to Robert Milkins in the last 16. He was knocked out by Barry Hawkins in the quarter-finals of the minor-ranking Bulgarian Open and in the semi-finals of the Asian Tour event, the Yixing Open. He did not have to qualify for the UK Championship or the Welsh Open as all players on the tour began the events at the venue stage this season and Donaldson took advantage. In the UK he saw off Matthew Selt 6–4 and then secured what he called the best victory of his career to date by taking the last two frames against world number 13 Mark Davis in a 6–5 win. He lost a high quality encounter 6–3 to Joe Perry in the last 32. At the Welsh Donaldson saw off a trio of established players in Robert Milkins, David Gilbert and Andrew Higginson to reach the last 16 of a ranking event for the second time this season, where he was whitewashed 4–0 by Ding Junhui.
Donaldson's play in Asian Tour events this year helped him to finish eighth on the Order of Merit to qualify for the Finals for the first time. He met reigning world champion Ronnie O'Sullivan and was comfortably defeated 4–0. Donaldson's campaign ended with him at 65th in the world rankings, agonosingly short of reaching the top 64 who stay on tour. However, his standing of 38th on the European Order of Merit earned him the third of eight spots on offer to non-qualified players to earn a two-year main tour card for the 2014/2015 and 2015/2016 seasons.
Donaldson began the season by qualifying for the 2014 Wuxi Classic, where he was beaten 5–3 by Chen Zifan in the wildcard round. He won four matches to qualify for the Australian Goldfields Open, which concluded with a 5–2 success over Kurt Maflin, before being whitewashed 5–0 by Stuart Bingham in the first round. At the minor-ranking Yixing Open, Donaldson won four matches to reach the quarter-finals, but lost 4–1 against Robert Milkins. However, after a 6–4 loss to Marcus Campbell in the first round of the UK Championship, Donaldson lost a further eight matches in a row to end the season.
At the Paul Hunter Classic, Donaldson beat Ashley Hugill 4–1, 2014 world champion Mark Selby 4–2 and Martin Gould 4–2 to reach the last 16 where he lost 4–1 to Mark Williams. He came close to qualifying for the International Championship by winning two successive frames to force a decider against Mark Allen, but lost it. Donaldson finished 59th on the European Order of Merit which was high enough to earn him a new two-year card for the snooker tour.
Donaldson won four matches to meet Ding Junhui in the opening round of the Shanghai Masters and had leads of 3–1 and 4–3, before Ding forced a deciding frame. Donaldson had a chance to pull off the shock, but missed a simple black and Ding won through. Donaldson reached the last 16 of both the European Masters and Northern Ireland Open, losing 4–3 to Anthony McGill and 4–2 to Hossein Vafaei respectively. At the Welsh Open he beat Jack Lisowski 4–1, Mark King 4–2, Jimmy Robertson 4–0 and Mark Davis 4–3 to reach the quarter-finals. He faced Zhou Yuelong, who was also appearing at this stage of a ranking event for the first time and Donaldson thrashed him 5–0. Donaldson pulled back from 4–1 down against Judd Trump in the semi-finals to 4–3, but lost 6–3. He won £20,000 for reaching the final four and was placed 65th in the world at the end of the season, the third highest of all the players who began the year on zero ranking points.
Donaldson defeated the defending UK champion Mark Selby, 6–3, in the last 64 at the 2017 UK Championship, but was knocked out in the next round by Li Hang. Three months later, he reached the semi-final stage of a ranking event for only the second time in his career, at the 2018 Gibraltar Open; he won five matches before a 3–4 semi-final defeat against eventual champion Ryan Day.