During his school years at Ridgewood High School (Stourbridge) he was involved in the most successful year of the school football team in 2004. The team completed a 'treble' by winning the league, cup and 6-a-side tournament.
After impressing in reserve and youth team games, Nicholls broke into Walsall's first team in the 2005–06 season, making his debut in December 2005 in a FA Cup clash with Yeovil Town. In that same season Nicholls went on to make 13 appearances which included a Football League Trophy clash with Swansea City, it was in this game that he scored his first professional goal for the club. However, his season ended prematurely as he broke his leg while playing in a youth cup tie with Hednesford Town.
In 2007, Nicholls went on loan to Burton Albion. He made 14 appearances for the Brewers before returning to Walsall at the end of April.
During the 2007–08 season, Nicholls played as both a right winger and a striker, making 24 appearances and scoring three goals, which included an FA Cup goal in an away replay with Millwall.
Nicholls was offered a new two-year contract by the club on 10 May 2010 which he accepted. He scored his first goal of the 2010–11 season against Brentford in a 2–1 victory, by scoring a well placed lob.
In his final season for the club he was joint top goal scorer with 8 goals
Nicholls went on to make a total of 219 appearances for the club before leaving on a free transfer in 2012
In June 2012, Nicholls joined League Two side Northampton Town on a free transfer after his contract expired.
Nicholls soon became a fans favourite at the club with his all energy displays and some vital goals, he scored 8 goals in 16 games before his season was ended prematurely when on the 27th of October he broke his leg after a late challenge from Port Vale defender John McCombe.
He regained fitness at the start of the 2014/15 season, Nicholls' first game back came against AFC Bournemouth where he came on as a second half substitute to a rapturous reception form the Northampton Fans.
On 1 September 2014, Nicholls joined Exeter City, on a one-month loan deal where he Helped them move clear of the relegation zone. Nicholls completed his permanent move to Exeter City on 5 January 2015. The highlight of his time in Devon was a 3rd round FA cup tie vs Liverpool at Anfield in front of a full house.
Nicholls played a total of 73 games for Exeter before moving to Barnet
Nicholls joined Barnet on 1 July 2016. He scored on his debut against Cambridge United on 6 August.
Nicholls was loaned to Scottish Championship club Dundee United in January 2017.
Nicholls signed on loan at Scottish Championship club Dundee United in January 2017.
On the 25th of March Nicholls picked up a Scottish Challenge Cup winners medal when Dundee United beat St Mirren F.C. to lift the trophy at Fir ParkAs of match played 28 May 2017
Scottish Challenge Cup