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. He was a member of the Kentucky Senate from 1829 to 1833, and was a member of the Kentucky House of Representatives in 1835 and 1837.
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, and served in all from December 7, 1840 to 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 Lieutenant Governor of Kentucky in 1852. He was then elected as Whig to the United States Senate and served from March 4, 1853 to March 3, 1859. He died in Harrodsburg and was interred in Spring Hill Cemetery.