Heart of Midlothian Holt grew up in
Musselburgh as a Hearts fan and attended
Musselburgh Grammar School before signing for
Heart of Midlothian in 2002. He was a member of the Hearts under-19 squad who finished second behind
Celtic in the under-19 league in 2010–11. He picked up the Clydesdale Bank Premier League under-19 player of the season award. Despite being part of the squad that travelled to Italy for pre season, Holt had to wait until the last day of the 2010–11 season to make his First team debut on 15 May 2011 as a substitute against
Dundee United. His performance for the under 19 squad in the early part of the 2011–12 season earned him a new three-year contract extending his stay with the club until 2014. He scored on his first start for Hearts, away to St Johnstone in March 2012. With Hearts in financial difficulty and wanting to bring through members of their under 19 squad into the first team, Holt was sent on loan to
Raith Rovers to gain first team experience.
Loan spells On 21 November 2011, after impressing in a bounce game, Holt joined
Scottish First Division side
Raith Rovers on loan until 5 January 2012. Making his debut on 26 November 2011 scoring the first goal in the ninth minute in their 3–2 win against
Hamilton. In all Holt made five appearances for the side with his last appearance coming as a substitute on 2 January against
Dundee. On 5 January he returned to Hearts. Holt moved on loan to Sheffield United on 30 January 2015 for the rest of the 2014–15 season.
Rangers On 22 July 2015, Holt signed a three-year deal with
Rangers after impressing on a trial spell. The Ibrox side agreed a development compensation fee of £65,000 with
Heart of Midlothian. Holt scored his first goal for Rangers in a 5–1 win over
Alloa Athletic. He scored a brace against title rivals
Hibernian in a 4–2 win for Rangers. Holt was named in the Championship team of the year for 2015–16, as Rangers won promotion to the
Scottish Premiership.
St Johnstone (Loan) On 2 September 2019, Holt signed on loan for
St Johnstone until the end of the
2019–20 season.
Livingston On 11 August 2020, Holt signed for
Livingston, on a two-year deal.
St Johnstone return In August 2024, Holt signed for
St Johnstone for a second spell. ==International career==