Gallacher started his career with Rangers. He helped the Rangers under-19 team win league and Scottish Youth Cup doubles in the 2006–07 and 2007–08 seasons. He also travelled with the first team squad for a UEFA Cup tie against Hapoel Tel Aviv in February 2007 and involved in champions league squads against Stuttgart and Sevilla. He was included in the first team squad on many occasions and was an unused substitute many times, including an Old Firm derby on 5 May 2007. He joined Cowdenbeath, then in the Scottish Third Division on 1 September 2008. In 2010, Gallacher signed a six-month loan deal with Forfar Athletic which was later extended until the end of the season. Gallacher made his debut for Rangers in a 4–0 win over Albion Rovers. In September 2013, Gallacher signed on loan for Airdrieonians. In July 2014, Gallacher signed for Scottish Championship side Heart of Midlothian on a two-year deal. Gallacher made his first team debut on 10 August 2014, coming on as a 67th-minute substitute at Ibrox Stadium in a league match against Rangers, replacing the injured Neil Alexander in a 2–1 win. On 10 September 2015, Gallacher moved on loan to Forfar Athletic for a second time, joining on a short-term deal. On 14 January 2016, Gallacher signed a contract with Alloa until the end of the season, after leaving Hearts by mutual consent. Gallagher signed a one-year deal with St Mirren in June 2016, beginning the season as the Saints first-choice goalkeeper. After Jack Ross was appointed manager in October 2016, Gallacher was dropped in favour of Jamie Langfield, however, he returned to the starting line-up in mid-November, playing in St Mirren's 2–1 victory over Ayr United in the Scottish Challenge Cup. Gallacher continued in goal for the side until January 2017, when an injury in training meant he was unavailable for selection. Gallacher left Hearts in January 2017 and signed with fellow Championship side Hibernian. He left Hibs at the end of his short-term contract, in May 2017, and joined Dumbarton on 23 June 2017. After 51 appearances for the Sons, he rejected a new contract and joined Scottish League One side Airdrieonians in May 2018. On 30 July 2020, Gallacher signed for Arbroath.