Turnbull began his career with the academy of Southampton, signing his first professional contract in 2013 and spending two seasons on loan at Swindon Town. He signed for Coventry City in 2016, and won the EFL Trophy in 2017 before suffering relegation. After spending six months on loan in Scotland with Partick Thistle, Turnbull returned to England and signed for Northampton Town. Having achieved promotion in 2020, he left the club to sign for Salford. In July 2022, Turnbull signed for Tranmere Rovers.
Internationally, Turnbull represented his country for the U19 and U20 teams.
Career
Southampton
Turnbull started his career within the youth system at Swindon Town but later joined Southampton Academy.[2] He turned professional with Southampton, and signed a two-year extension in 2013 after making the step-up to Saints under-21 side.[3] During his first season on loan at Swindon, he signed a contract extension to keep him at the club until 2018.[4]
Loans to Swindon Town
After being permission to play in a friendly against Leeds United during pre-season,[5] Turnbull joined Swindon Town on a season-long loan on 8 August 2014.[6] He made his debut on the opening day of Swindon's 2014–15 campaign at home to Scunthorpe United,[7] his first appearance in the English Football League.[8] By November, Turnbull had played every minute of the season, and in an interview with the Swindon Advertiser, he said "I feel a lot more confident and I feel like I've grown as a player already", adding that playing against fully professional players had aided his development.[9]
On 3 August 2015, Turnbull joined Swindon Town for another season-long loan spell.[13] In the 2015–16 he played at left back on many occasions due to a centre half partnership formed between Adam El-Abd and Raphael Rossi Branco.[14] Overall, Turnbull played 97 times for The Robins in all competitions.[15]
Coventry City
On 15 August 2016, Turnbull joined Coventry City on a three-year deal for an undisclosed fee.[16] He made his debut on 20 August in a 3–1 defeat at Bradford City, when he was sent off in the 66th minute after he pulled down Billy Clarke.[17]
He scored his first goals for Coventry when he scored twice in an EFL Trophy tie against West Ham Under-23s on 30 August 2016.[18] He played five games in Coventry's run to the final,[19] where Coventry defeated Oxford United 2–1 at Wembley Stadium to win their first trophy in 30 years.[19] Turnbull played the final alongside Chris Stokes, a former teammate at Trowbridge Town, and said the day was "just a whirlwind and it was an unbelievable experience", and that winning the trophy alongside Stokes was a "special moment".[20]
After Coventry suffered relegation at the end of the season, Turnbull was expected to activate a clause in his contract which allowed him to leave,[21] but on 31 July, the deadline to trigger the clause, he left on loan to Partick Thistle.[22]
Loan to Partick Thistle
Turnbull joined Scottish Premiership club Partick Thistle on a one-year loan deal on 31 July 2017.[23] After making 21 appearances in all competitions for The Jags, Turnbull was recalled from his loan in January 2018.[24]
Northampton Town
The day after being recalled, Turnbull joined Northampton Town, for an undisclosed fee;[25] the Coventry Telegraph reported there was no initial fee, but Turnbull had a sell-on clause should Northampton receive a fee for him as part of a future transfer.[26] Signed by manager Jimmy Floyd Hasselbaink due to injuries to defenders Aaron Pierre and Leon Barnett, Turnbull had scored two goals against The Cobblers the previous season for Coventry.[27] Despite being signed a cover for injuries, Hasselbaink said it wasn't a short-term signing, praising him for his experience and versatility.[28]
During his first full season at the club, Turnbull failed to start a game until October, but went on to make 34 appearances in all competitions following the sacking of manager Dean Austin, playing both as a defender and in centre-midfield.[29] Continuing to play in midfield during the 2019–20 season, Turnbull began picking up regular bookings, and was suspended having received five yellow cards in eight games.[30] Turnbull was reverted to the defence with manager Keith Curle changing the formation of the team to a 3–4–3,[31] and was a regular during the first half of the campaign.[32]
He missed three games between January and February 2020 after suffering a hip injury in an FA Cup match against Derby County.[33] He left the club on a free-transfer in 2020, with Curle explaining that financial restructuring at the club meant Northampton couldn't afford to keep Turnbull on his current wages.[34]
Salford City
In July 2020 he signed for Salford City on a two-year contract.[35]
Turnbull was offered a new contract at the end of the 2021–22 season,[36] opting instead to leave the club.[37]