Dennis was born in Hendon, London,[3] and joined Watford's youth setup in 2003 at the age of ten.[4] Released in the summer of 2009, he then progressed through the youth system at Dagenham & Redbridge after starting a two-year scholarship immediately after his release.[5]
In May 2011, after completing his scholarship, Dennis signed his first professional contract with Dagenham & Redbridge.[6]
Dennis scored the winner in a 2–1 win at Brentwood Town, scoring with a simple header,[11] and continued his scoring run in September with his fourth goal in a 3–2 win against Redbridge.[12] He then scored a brace in a 3–0 win over Whyteleafe in the FA Trophy,[13] and netted his final goal for Grays in January 2012, when he scored the first in a 2–1 away defeat to Tilbury.[14]
Dennis' final appearance for Grays came in March 2012, in a 3–2 defeat to Soham Town Rangers.[15] Later on in the month, Dennis returned to Dagenham due to sustaining an Achilles injury. He made a total of 28 appearances for the club, scoring seven goals.[16]
In November 2012, Dennis extended his loan with the club for a further month, after scoring three goals in nine starts.[22] His first league goal came in December 2012, scoring the second in a 4–3 home win over Kingstonian.[23] On 11 December, Dennis extended his loan for a further and final one month.[24] His final goal for the club and first away goal came in a 5–4 away defeat to Whitehawk in January 2013.[25] His final appearance for Canvey came in a 2–0 home victory over Thurrock in the league.[26] He made a total of 21 appearances for the club, scoring five goals.
Return to Dagenham
On his return to Dagenham in January 2013, Dennis signed a new two-and-a-half year contract until 2015.[27] He made his debut for the Daggers on 19 January 2013, in a 1–0 defeat to Wycombe Wanderers in Football League Two, replacing Brian Woodall as a second-half substitute.[28] He continued to appear briefly as a substitute for the remainder of the season as Dagenham escaped relegation to the Conference Premier on the last day of the season. He finished the season with six appearances for the Daggers.
The start of the 2013–14 season coincided with the permanent appointment of manager Wayne Burnett. Dennis made his first appearance of the season in a 2–0 home win over York City, replacing Josh Scott as a substitute.[29] His first goal for the Daggers came in the 4–2 win over Colchester United in the Football League Trophy, scoring the final goal a minute after coming on as a substitute.[30]
Dennis returned to Dagenham in December 2013, after his loan with Hayes & Yeading ended. On 24 January 2014, he was released by Dagenham after his contract was terminated due to mutual consent.[31]
Dennis then joined Bromley on 12 February 2014. He made his debut in a 3–2 away defeat to Dorchester Town, scoring after coming on as a second-half substitute.
Portsmouth
On 23 May 2018, Dennis joined Portsmouth on a free transfer, signing a two-year deal. Portsmouth manager Kenny Jackett described Dennis as 'an exciting player with a lot of talent', however never managed to utilize the skill in his dominantly reoccurring squad.[36]
Leyton Orient
On 1 August 2019, Dennis joined League Two side Leyton Orient for an undisclosed fee.[37] He scored his first goal for Orient in a 2–2 draw with Exeter City on 14 September 2019.[38]
Bromley
In August 2021, Dennis returned to National League side Bromley following his departure from Leyton Orient.[39]