Thomas was born in El Centro, California. He was raised in a family with three brothers and a sister. He graduated from Imperial High School in Imperial, California, where he played for the Imperial Tigers high school football team. Thomas' older brother Stan was an offensive tackle in the NFL for four seasons during the 1990s.
Thomas attended University of California, Los Angeles, where he was a history major and played for the UCLA Bruins football team from 1998 to 2001. As a freshman in 1998, he was a reserve inside linebacker making 26 tackles (two for losses), and playing in all 12 games. Thomas became a regular starter as a sophomore, and had 68 tackles despite missing three games. Following his 2000 junior season, he was named UCLA's Defensive Most Valuable Player and was a second-team All-Pac-10 selection after leading the team with 88 tackles (nine for losses) and six forced fumbles. As a senior in 2001, Thomas led the Bruins with 111 tackles (26 for a loss) and had 6.5 sacks, forced two fumbles and defensed five passes. He was a first-team All-Pac-10 selection and the Pac-10 Defensive Player of the Year, and was recognized as a consensus first-team All-American in 2001.
He was drafted by the St. Louis Rams 31st overall in the 2002 NFL Draft. On July 22, 2002, Thomas signed a five-year $5.75 million contract with the Rams. Thomas started 30 games during his three seasons in St. Louis while totaling 163 tackles in those games.
St. Louis traded Thomas to the Green Bay Packers at the end of training camp on September 4, 2005, for cornerback Chris Johnson. Thomas started nine games at weak-side linebacker in 2005. On May 2, 2006, the Packers released Thomas.
On August 24, 2006 Thomas signed with Oakland Raiders, and he played in all 16 games in 2006, with no starts. On February 24, 2007, the Raiders re-signed Thomas, who was eligible to be a free agent. The deal included $1.5 million signing bonus and a $1.5 million salary for 2007 and $2 million in salary in 2008. He started 10 games for the Raiders in 2007 but appeared in just two in 2008 before suffering a season-ending hamstring injury against the Atlanta Falcons on November 2, 2008.
On April 9, 2009, the Redskins signed Thomas to a one-year $1.3 million contract. On Sunday, September 9, 2009, he was released by the Redskins after the final preseason game and is currently a free agent.