Thomas made his professional debut starting on 28 January 2014 in a 2–0 League One loss to Leyton Orient, with City short on options up front manager Steven Pressley said he had no problems with throwing Thomas into the starting lineup. On 24 October 2015, Thomas joined Yeovil Town on a one-month loan and made his debut in a 3–2 defeat to Cambridge United. He scored his first goal for Coventry in an EFL Trophy tie against Wycombe Wanderers on 9 November 2016. Later that season he then scored in a 2–1 win, also against Wycombe, in the EFL Trophy Semi-Finals which sent Coventry to their first Wembley final since 1987. In the final Thomas scored the second goal in a 2–1 win against Oxford United.
On 8 August 2017, he signed for Premier League side Leicester City on a three-year contract for an undisclosed fee. In June 2020, it was announced that Thomas would be released from the club upon the expiry of his contract at the end of the month.
On July 27th 2020, Thomas joined west London club Queens Park Rangers on a free transfer, signing a three year deal with the option to extend it by another 12 months.
International career
In April 2013 he was called up to the Wales U17 team. He made his debut on 11 April 2013 coming off the bench in the 1–0 win against Northern Ireland U17. He made his first start and scored his first international goal, on 12 April 2013, in the 1–1 draw against Faroe Islands U17. He scored his second goal in his third appearance against Malta U17 on 22 August 2013. On his sixth appearance, Thomas got his third international goal scoring against Slovenia U17 on 28 September 2013. His fourth goal came on his seventh appearance against Czech Republic U17 on 18 February 2014. Thomas made his Wales U19 debut against Montenegro in September 2014. Thomas scored his first goal for Wales U19 in a 2–1 win against Albania U19 in November 2014. In May 2017, Thomas was named in the Wales under-20 squad for the 2017 Toulon Tournament. He made his debut for the side in the tournament opener against Ivory Coast, scoring both of his sides' goals during a 2–2 draw. He was named in the starting line-up in Wales' remaining two group matches against France and Bahrain as Wales were eliminated in the group stage. Thomas made his debut for the under-21 side on 1 September 2017 in a 3–0 victory over Switzerland, scoring the final goal of the game in injury time. He received his first call up to the senior Wales squad in May 2018 for a friendly against Mexico. Thomas went on to win his first senior Wales cap in the Mexico match, replacing Harry Wilson as a 64th minute substitute.