Born near Harrodsburg, Kentucky, Thompson completed preparatory studies and studied law. He was admitted to the bar and practiced in Harrodsburg, becoming the Commonwealth's Attorney.
Thompson was elected to the Kentucky Senate in 1829 and served until 1833. In 1835, Thompson was elected to the Kentucky House of Representatives where he served two, two-year terms.
In 1840, Thompson was elected as a Whig to the United States House of Representatives to fill the vacancy in Kentucky's 5th District caused by the death of Simeon H. Anderson. He was subsequently reelected in 1842 and served until March 3, 1843. After a time out of Congress, he was again elected to represent the same district, serving this time from March 4, 1847 to March 3, 1851. During this time he was chairman of the U.S. House Committee on the Militia.
Thompson was the 14th Lieutenant Governor of Kentucky in 1852.
In 1852, Thompson was elected to the United States Senate as a member of the Know-Nothing party. He served from March 4, 1853 to March 3, 1859.