After going undrafted in the 2017 NFL draft, Thomas signed as an undrafted free agent with the Indianapolis Colts on May 4, 2017.[1] He played in all four pre-season games in 2017, but was part of final roster cuts on September 2, 2017.[2]
Thomas signed a practice squad agreement with the Cleveland Browns on September 19, 2017, but was released shortly after on September 22, 2017.[1][3]
On October 25, 2017, Thomas signed with the Oakland Raiders, but he was released on October 28, 2017.[1]
Thomas signed with the Denver Broncos on December 7, 2017 to their practice squad where he remained for the rest of the 2017 NFL season.[4] He signed a futures contract after the season ended, but was released on April 30, 2018.[1]
Thomas signed with the Toronto Argonauts during the team's training camp on May 25, 2019.[5] He played in the team's first preseason game on May 30, 2019 where he was injured and subsequently released on June 1, 2019.[6][7] He was re-signed to a practice roster agreement on July 17, 2019 where he remained until making his professional regular season debut on August 16, 2019 in a start against the Edmonton Eskimos where he had one defensive tackle.[6][8] He recorded his first sack on September 2, 2019 in the Labour Day Classic against the Hamilton Tiger-Cats.[9] In total, he played in 11 regular season games, making five starts at tackle, while recording 14 defensive tackles and one sack.[9]
In the following off-season, Thomas signed a contract extension with the Argonauts on December 9, 2019.[10] However, the 2020 CFL season was cancelled and Thomas did not play in 2020. He then signed another extension on December 18, 2020.[11] However, he was released following the end of the team's training camp on July 29, 2021.[12]
On August 13, 2021, it was announced that Thomas had signed with the Hamilton Tiger-Cats.[13] He spent time on the team's practice roster and was eventually released on September 27, 2021.[14]