On 30 January 2012, Harris signed for Championship side Cardiff City on a three-and-half-year contract for an undisclosed fee. His maiden call up to the first team came in a 3–1 league defeat to Blackpool on 4 February 2012, when he was an unused substitute. He was an unused substitute on a further three occasions during the 2011–12 season and was not called into the squad for the playoffs or the 2012 League Cup final. Harris was only called into the first team squad on one occasion during the 2012–13 Championship-winning season, when he made his debut in a 2–1 FA Cup third round defeat against Macclesfield Town on 5 January 2013. Harris started the match and was substituted for Tommy O'Sullivan after 64 minutes. Harris received his first call into the first team squad of the 2013–14 season on 28 August 2013, when he was an unused substitute for a 2–0 League Cup first round win over Accrington Stanley. He was again an unused substitute in the following round, which saw Cardiff lose 3–2 to fellow Premier League side West Ham United.