Gardner was attending The Manchester College, training to be a panel beater and playing for their academy team when he was noticed by scouts from Scotland and invited for a trial with Celtic's youth team in mid-October 2008. An "outstanding" performance against Rangers secured a short-term deal which was extended to a three-year professional contract. He went on to make a couple of substitute appearances for the reserve team. However the SPL decided to scrap the Reserve League and so teams continued with a smaller first-team roster and a youth team. This effectively left him surplus to requirements and he was released by the club in May 2009.
Gardner returned to Manchester where he was persuaded to join local team Flixton in the Vodkat Premier Division. His performances soon attracted the attention of football league sides, he spent two weeks on trial at Oldham Athletic and a month training with Crewe Alexandra.
Crewe Alexandra
While training with Crewe he hit the only goal in a reserve game against Aston Villa on 20 January 2010. This earned him a deal until the end of the season. He was handed the number 34 shirt and went on to make two substitute appearances in League Two before being released at the end of the 2009–10 season.
Non-League
Gardner joined Droylsden for the 2010–11 season in the Conference North. He signed for fellow Conference North team Halifax Town in July 2012. He made his league debut in November in a 4–0 home win against Vauxhall Motors. His first league goal for the club was a penalty in a 3–3 draw at home to Histon in February, a couple of days after scoring a brace in the FA Trophy at Dartford. He went on to score 8 more league goals for the club and was instrumental in the Conference North play-off final at Brackley Town which secured Town's place back in the Conference Premier for the 2013–14 season.
Chesterfield
It was announced on 4 January 2014 that Gardner had joined League Two side Chesterfield. On 8 March 2016, he moved to Bury, signing a loan deal with the Shakers that was due to last until the end of the 2015–16 season, however Gardner was recalled early and scored against Bury in Chesterfield's final home game of the season.
Oldham Athletic
On 2 June 2017, after leaving Chesterfield, Gardner signed for Oldham Athletic on a two-year contract. He became John Sheridan's first summer signing as Oldham boss. After a knee injury in November 2018, he was released in 2019.