He joined Woodley Sports permanently, before moving on to Mossley in November 2010. He signed with Curzon Ashton in June 2011, and went on to score 72 goals in two seasons with the club, before joining Stockport County in May 2013. He spent three seasons with County, though spent the third season on loan at Macclesfield Town, where he scored 29 goals, picking up the National League Player of the Month award for November 2015. He returned to the English Football League when he signed with Chesterfield in May 2016, and despite suffering consecutive relegation from League One and League Two, he impressed with 32 goals in 90 appearances in a struggling team.
In November 2006, Dennis scored a first half goal for Macclesfield Town's U18 squad in a 1–1 away fixture against League leaders Walsall in the 2006–07 North West Conference Group B season.[6] Dennis gave Macclesfield Town the lead in the 40th minute and missed a couple of opportunities inside the Walsall 18-yard-box before half time.[6] Dennis started for Macclesfield Town's U18 squad in a 2006–07 FA Youth Cup Third Round 3–0 away defeat against Everton U18 on 4 January 2007. He was replaced by Christopher Dykes in the 60th minute.[7]
2007–08 season
In August 2007, Dennis debuted in his first competitive appearance for Macclesfield Town's first-team in a friendly against Marine AFC in which he scored.[8] He made his Football League Two debut in a 3–0 defeat at Rotherham United on 1 January 2008, coming onto the pitch as an 89th-minute substitute for Danny Thomas.[9] In January 2008, Dennis scored for Macclesfield Town's U18 Academy squad in a 2–1 2007–08 FA Youth Cup Fourth Round defeat against Sunderland's U18 Academy squad at the
Stadium of Light.[10] After shooting wide from
goalkeeper Martin Hunter's post in a one-on-one opportunity and then being denied by a point-blank stop from him again, Dennis rose high to head from a cross from
John Rooney.[10] In May 2008, Dennis was one of four second-year Academy scholars, with Shaun Brisley, Chris Hirst and Christian Millar, to receive professional contracts for the 2008–09 season, whilst six others were released from the club's Academy.[11]
In July 2009, Dennis was one of five strikers, with Emile Sinclaire, Stephen Reed, Kyle Wilson and Vinny Mukendi, in Macclesfield Town's first-team squad ahead of the 2009–10 season.[15][16] In November 2009, he joined Northern Premier League Division One North side Woodley Sports on an initial one-month loan,[17] which was extended for a second month,[18] before he returned to Macclesfield in mid-January 2010.[19] He scored regularly for the "Saxons", including a hat-trick against Radcliffe Borough.[20] On 14 May 2010, he was one of 11 players released by Macclesfield at the conclusion of the 2009–10 season.[21]
Non-League
Dennis had a trial with Kidderminster Harriers in July 2010.[22] He instead signed with Woodley Sports, and scored 12 goals for them before joining Mossley in November 2010.[23] He scored 16 goals in 31 appearances for the "Lilywhites", helping the club to a 15th-place finish in the Northern Premier League Division One North.[24] He signed for Curzon Ashton in June 2011.[25] The "Nash" finished as runners-up to AFC Fylde in the Northern Premier League Division One North during the 2011–12 campaign, losing out to Witton Albion in the play-off final.[26] They finished seventh in the 2012–13 season. On 1 April, Dennis scored six goals as Ashton recorded a club record 10–1 victory over Wakefield.[27] On 23 April, Curzon drew 1–1 with North Ferriby United in the Northern Premier League Challenge Cup Final at Throstle Nest, and lost 2–1 in the resulting penalty shoot-out, with Dennis being the only Curzon player to successfully convert his penalty. He scored 72 goals in his two seasons at the Tameside Stadium, scoring 26 goals in his first season and 46 goals in his second season.[28] During his time at the club he worked as an archive administrator for Just Costs Solicitors in Manchester city centre.[29]
Dennis signed for Ian Bogie's Stockport County in May 2013.[30] He scored a hat-trick in a 5–1 win at Gainsborough Trinity on 4 January.[31] The "Hatters" went on to record a 14th-place finish in the Conference North by the end of the 2013–14 campaign, with Dennis contributing ten goals from 32 league games. He scored 12 goals in 32 appearances in all competitions in the 2014–15 season, as County posted an 11th-place finish. He was transfer-listed at Edgeley Park by new manager Neil Young in May 2015.[32]
On 24 June 2015, Dennis returned to Macclesfield Town on a season-long loan.[33] He was named as National League Player of the Month for November after scoring seven goals in four games for the "Silkmen".[34] He scored a total of 29 goals in 45 appearances during the 2015–16 season, helping John Askey's Macclesfield to a tenth-place finish. Stockport were keen to recall Dennis in the January transfer window in order to sell him on before the expiry of his contract at the end of the season, but were unable to do so as they had failed to insert a recall option in the loan deal.[35]
Chesterfield
On 10 May 2016, Dennis signed for League One side Chesterfield.[36] Manager Danny Wilson said that "he's a very level-headed boy who is determined to do well in the Football League and become an established player. He is prolific and I think he can offer us a great deal".[37] He scored his first goal for Chesterfield in an EFL Trophy tie against Wolves Under-23s on 30 August.[38] He scored ten goals in 42 appearances during the 2016–17 campaign, finishing as the "Spireites" top-scorer, though could not prevent Gary Caldwell's side being relegated in last place.[39] He was nominated for the EFL League Two Player of the Month award for November after scoring three goals and providing one assist for Jack Lester's struggling side.[40] He again finished as top-scorer at the Proact Stadium in the 2017–18 season with 21 goals in 48 games, and despite his 19-goal tally being the joint-fifth highest in League Two, Chesterfield were again relegated in last place.[41] On 22 May 2018, Dennis was transfer-listed by incoming manager Martin Allen after rejecting the club's offer of a new contract in search of a return to the EFL.[42]
Notts County
On 31 May 2018, Dennis signed for local rivals Notts County on a three-year contract (two years with the club having the option for a third term). He joined after Chesterfield were relegated for a reported fee of £150,000.[43]
On 31 January 2019, Dennis signed for League Two rival Grimsby Town until the end of the 2018/19 season.[44]
St Mirren
In August 2020, Dennis signed a two-year deal with St Mirren.[45] Upon his move to the Paisley club, manager Jim Goodwin said '"He is a proven goalscorer, he is a great age and a natural finisher."[46]
Carlisle United
On 31 January 2022, Dennis joined League Two side Carlisle United on an 18-month contract.[47]
The 2022–23 season saw Dennis score twenty league goals as Carlisle reached the play-offs, being awarded the Players' Player of the Year at the end of season awards ceremony.[48] On 28 May 2023, Dennis was used as a substitute in the play-off final, scoring his penalty in the shoot-out as Carlisle defeated Stockport County to earn promotion to League One.[49] Following promotion, he was offered a new contract.[50]
Tranmere Rovers
On 5 June 2023, Dennis was announced to be returning to League Two with Tranmere Rovers on a two-year contract,[51] having rejected the new contract offer from Carlisle.[52]
Style of play
Former Chesterfield manager Gary Caldwell described Dennis as "first and foremost a team player... in terms of his workrate, running after lost causes, shutting people down and working for the team".[53]