Born October 24, 1844 near Madisonville, Kentucky, Laffoon attended the local schools. In September 1861, during the Civil War, he enlisted in the Confederate States Army in Company F, 8th Kentucky Infantry, at the age of 17. Elected a lieutenant, Laffoon was captured at the Battle of Fort Donelson on February 16, 1862, and was held a prisoner of war at Camp Morton, at Indianapolis, Indiana. He was exchanged at Vicksburg in September 1862 and was discharged at Knoxville, Tennessee. He next enlisted in Adam Rankin Johnson's 10th Kentucky Cavalry Regiment and again was made a lieutenant. He was captured at Cheshire, Ohio in July 1863, during John Hunt Morgan's raid north of the Ohio River, and spent the remainder of the war as a prisoner of war.
Released at the war's end in 1865, Lafoon taught school for two years. He then studied law, and was admitted to the bar in 1867, practicing in Madisonville. He served as the prosecuting attorney for Hopkins County.
Laffoon was elected as a Democrat to the Forty-ninth and Fiftieth Congresses (March 4, 1885 – March 3, 1889). He served as chairman of the Committee on Expenditures in the Department of War (Fiftieth Congress). He did not seek reelection in 1888.
Lafoon resumed his law practice in Madisonville, dying there on October 22, 1906. He was interred in the Odd Fellows Cemetery at Madisonville. His nephew, Ruby Laffoon, served as Governor of Kentucky from 1931 to 1935.