A member of Celtic's under-19 team Keatings, was promoted to the first team on 10 November 2010, being named as a substitute for their game against Hibernian. He made one more appearance on the bench before suffering a cruciate knee injury in April, despite the knee injury he still finished the under-19's top scorer with 25 goals. In June 2011, he was rewarded with a new three-year contract extending his stay until 2014.
After a long rehabilitation and with his involvement being limited to one appearance on the bench and being a member of the club's development squad, Keatings was sent out on loan to St Johnstone. After ten years with Celtic, Keatings was released by the club in 2013.
On 30 January 2012, Keatings joined fellow Scottish Premier League club St Johnstone on loan until the end of the season. He made his debut on 5 February as a substitute against Hearts in the Scottish Cup, with his Scottish Premier League debut coming on 25 February against Dunfermline Athletic. In all he made five appearances for the club.
On 24 August 2012, Keatings joined First Division club Hamilton Academical on a loan deal. The next day, Keatings made his debut for the club coming on as a substitute in the second half, in a 1–0 loss against Cowdenbeath. Then, on 22 September 2012, Keatings came on as a substitute in the second half and scored twice, to make a come-back draw in a 3–3 draw against Dumbarton. By the January transfer window, Keatings' loan spell with Hamilton had been terminated after his loan spell was cancelled.
After being released by Celtic ahead of the new 2013–14 season, Keatings went to Australia to have trials at Brisbane Roar and Newcastle Jets. Despite an offer in Australia he signed for Hamilton on a permanent deal in July 2013, signing a one-year contract having impressed the club during pre-season training once again. Upon his move to Hamilton, Keatings said that he hoped joining the club would help him to get his career back on track.
Keatings made a perfect start for the club when he scored twice in the first round of Scottish League Cup, as they beat Stirling Albion 3–0. In the league, he scored three goals in two games against Raith Rovers and Dumbarton. He continued his positive start when he scored twice in a 2–0 win over Livingston on 5 October 2013, ending his goal-scoring drought of six matches. However, Keatings sustained a calf injury during a match against Raith Rovers and was sidelined for two weeks. He made his return, in a 3–0 loss to Dundee on 23 November 2013. Keatings would score another three goals in two games against Cowdenbeath and Dumbarton, which put his goal tally to ten. After the match, Keatings believes the title race in the Scottish Premiership will go all the way in the remaining 15 matches. Though scoring, Keatings began making assist for players to score by ensuring the club keep on aiming for the promotion to Scottish Premiership. Keatings scored his 15th goal of the season in all competitions, in a match against Raith Rovers on 25 March 2014. He said after the match: "I hadn’t scored in three games and managed to put a header in the corner. The position I’m playing in means I haven’t had many chances like that, it’s probably the only one that has dropped to me in the box, and I’m delighted. Hopefully I get more and achieve my target."
Despite initially indicating he would sign a new contract with the club following their promotion to the Scottish Premiership, Keatings rejected the clubs offer. In all he made 35 appearances, scoring 15 times over the course of the season.
On 13 June 2014, it was announced Keatings had signed a two-year contract with recently relegated Scottish Championship side Heart of Midlothian. After joining Hearts, Keatings said joining Hearts made him "over the moon to have the opportunity to sign for a big club like this after leaving Hamilton." In his first league start for Hearts he scored a hat-trick in a 4–0 victory over Raith Rovers at Stark's Park. Keatings scored a fantastic goal against Queens at home during a 4–1 victory, this was Keatings fifth league goal of the season. He was released by Hearts at the end of the 2014–15 season, having only served half of his initial two-year contract.
On 1 June 2015, Keatings signed a two-year contract with Hearts' Edinburgh rivals, Scottish Championship side Hibernian. In his first league start for Hibs he scored the opening goal in a 2–0 victory over Raith Rovers at Easter Road. On 7 November, Keatings scored a hat-trick for Hibs in a 4–1 win at St Mirren. He netted twice against Falkirk in the second leg of the play-off semi-final, although Hibs eventually lost the match 3–2. Keatings came on as a substitute in the 2016 Scottish Cup Final, which Hibs won 3–2 against Rangers.
Keatings scored eight goals in 30 appearances for Hibs during the 2016–17 season, as they earned promotion to the Premiership.
Dundee United announced on 8 May 2017 that they had reached an agreement to sign Keatings, when his contract with Hibernian expires.
Keatings has represented Scotland at under-16, under-17 and under-19 level.As of 19:29, 6 May 2017 (UTC)
Scottish Premiership Play-offs: 2013–14
Heart of Midlothian
Scottish Championship: 2014–15
Scottish Cup: 2015–16
Scottish Championship: 2016–17