Kelly began his career with St Mirren and made his professional debut on 3 August 2013 in a 3–0 defeat against Inverness Caledonian Thistle.
On 22 November 2013 it was announced that Kelly had signed a two-year contract extension with Saints, tying him to the club until the summer of 2016. On 5 March 2014, Kelly appeared for the Scotland under-21 side in a 2–2 draw against Hungary at Tannadice. Kelly was released by St Mirren at the end of the 2015–16 season.
Kelly went on trial with AFC Wimbledon during the 2016–17 pre-season, and permanently signed for the club on 1 August 2016. Kelly scored his first goal for the Dons on 14 January, in a 2–1 win against Oxford United.
He returned to Scottish football in June 2017, signing for Ross County