Clark won Barnsley's 'Most Promising Academy Player' award for the 2009–10 season, and signed a scholarship deal with the club in July 2010. He signed his first professional contract in March 2011, alongside Danny Rose. He made his senior debut for Barnsley on 12 April 2011, in a 0–1 defeat at home to Queens Park Rangers. On 11 September 2012, Clark signed a contract extension with the club, keeping him at Barnsley until 2014. On 22 February 2013, Clark was loaned out to Chesterfield on an initial one-month deal. He made his Chesterfield debut the following day, coming on as an 80th-minute substitute for Neal Trotman, in a 1–0 loss against Gillingham. Clark made one more appearance, playing 90 minutes, in a 0–0 draw against Aldershot Town before being recalled by Barnsley on 26 March 2013. On 2 August 2013, Clark went on loan again to Scunthorpe United. He made his debut the next day, coming on as a late substitute for Andy Welsh, in a 2–0 win over Mansfield Town, returning to his parent club on 11 September 2013. In February 2014 he joined Hyde on another loan deal, making his Hyde debut as a second-half substitute for David Poole, in a 4–3 loss against Lincoln City. On 22 February 2014, Clark scored his first professional career goal, in a 2–2 draw against Aldershot Town. Clark was released by Barnsley at the end of the 2013–14 season.
Following a trial spell, Clark went on to join League Two side Shrewsbury Town on 17 July 2014, re-uniting with new Shrewsbury manager Micky Mellon who had previously been assistant, and later caretaker-manager at Barnsley. Clark made his Shrewsbury Town debut in a 2–2 draw against Wimbledon on the opening day of the season. On 30 August 2014, Clark scored his first goals for the club, both in a 2–0 win over Luton Town. His third goal of the season, against Bury, described as a "superb angled volley", was awarded the winner of the club's Goal of the Month competition for October 2014. Clark found his playing role reduced in the second half of the season, mostly used as a substitute. However, he contributed two assists, in a 4–0 win over Exeter City on 11 April 2015, as Shrewsbury closed in on promotion to League One. At the end of the season, Clark signed a one-year contract extension. On 5 September 2015, he scored a last-minute winning goal in a 2–1 win at former club Barnsley, Town's first win of the League One season. It was announced Clark was to be released by the club in May 2016.
Accrington Stanley
After leaving Shrewsbury, he signed for Accrington Stanley in August 2016. He scored his first goal for Accrington in an EFL Trophy tie against Chesterfield on 4 October 2016. He was offered a new contract by the club at the end of the 2019–20 season.