Born October 15, 1845 in Harrodsburg, Kentucky, Thompson attended the common schools and the University of Kentucky in Lexington, Kentucky. During the Civil War, he entered the Confederate States Army at the age of sixteen and served throughout the war. He studied law, was admitted to the bar in 1866, and commenced practice in Harrodsburg. He was city attorney of Harrodsburg from 1867 to 1869. In 1869, he was appointed Commonwealth attorney for the thirteenth judicial district of Kentucky. He was subsequently elected and served until 1874. He was reelected in 1874 and served until 1878, when he resigned, having been elected to Congress.
Thompson was elected as a Democrat to the Forty-sixth, Forty-seventh, and Forty-eighth Congresses (March 4, 1879 – March 3, 1885). He served as chairman of the Committee on Expenditures in the Department of War (Forty-eighth Congress). He served as delegate to the 1884 Democratic National Convention. He moved to New York City and resumed the practice of law. He died in Washington, D.C., December 15, 1909 and was interred in Spring Hill Cemetery, Harrodsburg, Kentucky.