After progressing through the Bristol Rovers youth system, Clarke joined the professional ranks at The Pirates in 2009, alongside fellow youth team graduates Eliot Richards, Neikell Plummer, Dan Cayford, Mark Cooper, George Booth, Steve Kingdon and Jack McKenna. Of this group only Clarke and Richards made any senior appearances. Clarke failed to make any first team appearances in his first year as a Bristol Rovers player, so early in his second season he was sent out on loan to injury-stricken Gloucester City. He played four games for The Tigers, three in the Conference North and one in the second qualifying round of the FA Cup. Shortly afterwards he was loaned to Southern League side Mangotsfield United, who he joined on Christmas Eve 2010 initially for a month. He remained there for the maximum 3-month period permitted by Southern League rules after the spell was extended and he made a total of 15 appearances, all in the league, and scored three times. He eventually made his debut for Bristol Rovers in their final game of the 2010–11 season, when he came on as an 88th-minute substitute for Harry Pell against Colchester United at the Colchester Community Stadium. His hopes of continuing to play first team football after the 2011 summer break were dashed however when he suffered a rupture to his anterior cruciate ligament on his first day back in training, leaving him unable to play for several months while he recovered from reconstructive surgery. His first goal for Rovers came against Portsmouth on 21 December 2013, it was well taken from the edge of the box to score the first in a 2–0 win On 18 March 2014, Clarke signed a new two-year contract extension with the Pirates. He played 1 season with Rovers in the Conference, whilst achieving promotion via the playoffs. He scored 4 goals in this successful season. The following season, Clarke scored two goals for Rovers including a wonder goal against Newport County His defensive and attacking efforts helped his team achieve promotion to Football League One after finishing in 3rd place. In the following summer, he signed a new deal with the club as he stated that he is "really looking forward to the challenges ahead this season". 2016–17 season proved to be successful for Clarke. He was rewarded for his fine performances when on 8 March 2017 he signed a new contract. During the same month he hit a purple patch scoring 2 goals in 3 games in a vital 2–0 victory away to Oxford United and a 2–1 victory at home to Chesterfield during which he scored just 30 seconds into the match. After captaining the club during the 2019-20 season, Clarke turned down a new contract with the club where he made over 250 appearances.
Mansfield Town
On 1 July 2020 Clarke signed a two-year contract with League Two side Mansfield Town.
Career statistics
Honours
Individual
Bristol Rovers Player of the Year: 2016–17, 2018–19