Laing was born in Newcastle upon Tyne, and grew up supporting Newcastle United.[1] Laing started at youth level with Montague B.C.[2] before he joined Newcastle's arch-rivals Sunderland in summer 2009.[3] In his first year at the Sunderland academy, he made 18 appearances, scoring once, despite injuries during the 2009–10 season.[3]
Laing made his Sunderland debut on 14 May 2011, coming on as a late substitute for John Mensah in a 3–1 defeat at home to Wolverhampton Wanderers.[4] Although manager Steve Bruce was normally keen to let young players out on loan to play first-team football, the Sunderland Echo speculated that Laing might "have a part to play" for his parent club.[5]
On 16 January 2012, Laing signed for League One club Wycombe Wanderers on a one-month loan.[6] On 21 January, he made his debut in a 3–0 win against Rochdale at Adams Park.[7] The loan was extended until the end of the season.[8]
On his return from loan, Laing signed a new contract with Sunderland.[9] His next two seasons were overshadowed by injuries,[10] and he was released at the end of the 2013–14 season.[11]
Having only featured in Forest's reserves and under-21 sides, Laing joined Notts County on a one-month emergency loan on 12 September 2014.[16] He made his County debut the next day in a 0–0 draw with Peterborough United.[17] After helping the club keep four clean sheets in seven matches, Laing's loan spell with Notts County was extended to the maximum 93 days.[18] After making ten appearances for the club, Laing's loan spell with Notts County came to an end, as he made his last appearance against Swindon Town on 13 December.[19]
On 30 January 2015, Laing moved on loan to Motherwell until the end of the 2014–15 season.[20] He made his debut the following day against St Johnstone, but was sent off after 25 minutes.[21] Laing scored his first Motherwell goal in a 2–1 win over Inverness CT on 28 February.[22] He played in both legs of the Scottish Premiership play-off final as Motherwell maintained their top-flight status with a 6–1 win on aggregate against Rangers.[23] At the end of the season, Laing returned to his parent club,[24] although he said he hoped he would be able to come back to Motherwell.[25]
Laing was released by Nottingham Forest at the end of the season, having never made an appearance for the club.[26]
Motherwell
On 30 June 2015, Laing returned to Motherwell, signing a two-year contract with the club.[27] In March 2016, Laing revealed that earlier in the season, while out of the first team at Motherwell, he had considered giving up football.[28]
On 15 August 2016, Laing moved on loan to Notts County until 16 January 2017.[29] He was released by Motherwell on 31 January.[30]
Inverness
Laing signed for Inverness Caledonian Thistle on 16 February 2017 on a contract due to run until the end of the 2016–17 season.[31]
Hartlepool United
Laing signed for Hartlepool United on 10 July 2017.[32] His contract was terminated by mutual consent in October 2018;[33] he made 40 league appearances for the club.