Holmes was born in Albion, Orleans County, New York, on October 24, 1827.
He was admitted to the bar in 1855 and commenced practice in Albion.
He was elected as a Republican to the Forty-first Congress to fill the vacancy caused by the resignation of Noah Davis and served from December 6, 1870, to March 3, 1871; he was not a candidate for renomination.
He died on October 2, 1874, and was interred in Mount Albion Cemetery.
This article incorporates public domain material from the Biographical Directory of the United States Congress