Charlton Athletic After joining
Charlton Athletic as a teenager from
Arsenal, Thomas become a key figure in Charlton's academy side. After appearing as an unused substitute several times throughout the
2014–15 campaign, he signed a new two-year contract running until June 2017.
Woking (loan spells) On 31 August 2015, Thomas joined
National League side
Woking on a one-month youth loan deal, making his professional debut the same day in Woking's 2–0 home victory against
Welling United, playing the full 90 minutes. After impressing at Woking, Thomas' loan spell was extended until 2 January 2016. However, with Woking, struggling through October and November, Thomas was dropped and played just one further game before returning to Charlton in January. Two days later, Thomas made his return in Woking's 1–1 home draw with high-flying
Barrow, playing for 70 minutes before being replaced by Fabio Saraiva. On 21 January 2017, after stabilising the Woking defence, his loan spell was extended until the end of the
2016–17 season. On 14 February, Thomas scored his first professional goal in Woking's 2–1 home victory over
Solihull Moors, heading in from a corner to give the Cards a 1–0 lead. On 25 February 2017, Thomas scored his second goal of the season in a 4–3 away defeat against
Forest Green Rovers, netting a consolation in the 94th minute. Following a successful relegation fight, Thomas returned to Charlton after featuring 33 times and scoring three goals for the Cards. Thomas joined fellow
League One side
Wigan Athletic on a one-year deal on 16 June 2017. On 5 August 2017, Thomas made his
Football League debut during Wigan's 1–0 away victory against
Milton Keynes Dons, replacing
Nick Powell at half-time. Three days later, he made his first start for Wigan in an
EFL Cup tie against
Blackpool, featuring for 65 minutes in the 2–1 home victory.
Sutton United (loan spell) On 29 December 2017, Thomas returned to the National League, joining
Sutton United on a 28-day loan deal. A day later, he made his Sutton debut in their 1–0 away defeat against league leaders
Macclesfield Town, playing the full 90 minutes. On 31 January 2018, Thomas' loan with Sutton was extended until the end of the season. On 24 February 2018, Thomas scored his first goal for the club during their 4–0 victory over
Guiseley, stabbing home an effort after a mistake from goalkeeper,
Luke Coddington. Following an impressive loan spell at Sutton, Wigan triggered a one-year option in Thomas's current deal, extending his contract until June 2019.
AFC Wimbledon On 16 July 2018, despite signing a new one-year deal with Wigan, Thomas made the switch to League One side
AFC Wimbledon for an undisclosed fee. On 4 September 2018 Thomas made his Dons debut in a 2–2 draw against
Charlton Athletic in the
EFL Trophy at
The Valley. On 3 November 2018 Thomas made his league debut for the Dons in a 2–1 loss to
Shrewsbury Town at
Kingsmeadow. He scored his first goal for Wimbledon in a 1–0 win over
Portsmouth on 19 October 2019. During July 2021, it was confirmed by manager,
Mark Robinson that Thomas would leave the club at the end of his contract, following interest from
Championship and fellow League One clubs.
Crewe Alexandra On 12 August 2021, Thomas signed a 12-month contract at League One side
Crewe Alexandra, replacing Crewe signing
Tommie Hoban after he had announced his surprise retirement from professional football. Thomas made his Crewe debut on 17 August 2021 in a 1–0 defeat at
Oxford United, conceding the penalty that gave the home side victory. On 31 January 2022, after Thomas had made 19 appearances, it was announced that his contract had been terminated by mutual consent.
Reading On 24 March 2022, Thomas joined
Reading on a deal until the end of the season after impressing on trial. On 20 May 2022, Reading confirmed that Thomas would leave the club upon the expiration of his contract.
Return to Charlton Athletic On 7 September 2022, Thomas returned to
Charlton Athletic on a one-year deal. On 28 June 2023, it was reported that Thomas had signed a new one-year contract with Charlton ahead of the
2023–24 season. On 3 May 2024, it was confirmed that Thomas would leave Charlton Athletic when his contract expired.
Carlisle United On 17 June 2024, Thomas joined
Carlisle United on a free transfer, signing a two-year deal. ==International career==