Born in Cedar Hill, Texas, Thomas attended Cedar Hill High School before accepting a scholarship from the University at Buffalo. Thomas volunteered to play free safety because the team had a surplus of cornerbacks. He played well, recording 109 tackles and 3 interceptions, but did not attract the high-level recruiting attention that coach Joey McGuire thought he deserved. Then, Buffalo coach Turner Gill, of Fort Worth, Texas, convinced him to head north. Thomas also starred in track & field at Cedar, where he competed in hurdles and relays. As a junior in 2006, he posted a personal-best time of 37.19 seconds in the 300-meter hurdles at the UIL T&F Championships. At the 2007 District Meet, he placed 3rd in the 110-meter hurdles with a time of 14.47 seconds, 2nd in the 300-meter hurdles with a time of 37.33 seconds and ran the second leg on the 4 × 400 m relay squad, helping Cedar win the event with a time of 3:14.81.
College career
Thomas played for the Buffalo Bulls football team from 2007 to 2010. He appeared in 47 games, starting 34 of them. He amassed 205 tackles, two sacks, five forced fumbles, two interceptions and 27 passes defensed. Thomas started four games as a true freshman and registered 45 tackles, 4 passes defensed and one interception. As a sophomore, Thomas played in 12 games with eight starts. He finished second on the team with six passes defensed and recorded 57 tackles and three forced fumbles. As a junior in 2009, Thomas had 10 starts, recorded 45 tackles and ranked second on the team with 9 passes defensed. In his last year at Buffalo, Thomas was the team's top cornerback, mainly covering the opposing teams' top wide receiver; he posted 12 starts, 58 tackles, 8 passes defensed, one interception and 2 sacks.
Professional career
Pre-draft
At his Pro Day, Thomas ran the 40-yard dash in 4.43 seconds, had a 40-inch vertical jump and a 10-8 broad jump, ran a 6.89 3-cone drill, and stood on his short shuttle time and bench-press repetitions.
Thomas was selected in the fifth round of the 2011NFL Draft by the Dallas Cowboys. Since 1969, Ed Ellis and Khalil Mack remain the only other Buffalo players selected sooner. He was waived on September 3.
On September 4, 2011, he was claimed off the waivers by the Carolina Panthers. In 2012, he started the last 4 games, registered 24 tackles, 7 passes defensed and 7 special teams tackles. In 2013, he played in 13 games as part of a defensive unit that ranked second in the league in points allowed and total defense. He finished with 28 tackles, 2 passes defensed, 4 special teams tackles and one interception. He was released on August 30, 2014.
Thomas signed with the New York Jets on October 13, 2014. He provided depth after the team placed cornerback Dee Milliner on the injured reserve list. Thomas was released on December 16, days after his car was broken into and, by his estimate, nearly $12,000 worth of items were stolen. According to Thomas, the Jets told him that part of the reason that he was released was because he did not "engage" enough with his teammates.
The day after his release from the Jets, Thomas was claimed off waivers by the Detroit Lions on December 17, 2014. In his brief stint with the Lions, Thomas earned $75,882 while appearing in only one game and failing to record any statistics.
The Minnesota Vikings signed Thomas on July 24, 2015, following the news that cornerback Jabari Price would be suspended for two games to start the season. He was released on September 5.
On September 22, 2015, he was signed as a free agent by the Indianapolis Colts. He was cut on December 8.
Dallas Cowboys (second stint)
On December 30, 2015, because of injuries to cornerback Morris Claiborne and safety Barry Church, the Dallas Cowboys signed him to play in the last game of the season against the Washington Redskins. On August 29, 2016, he was placed on the injured reserve list with a left thumb injury he suffered in the preseason game against the Seattle Seahawks. On November 22, the Cowboys moved Thomas to the Non-Football Injury list. He was not re-signed in 2017.