Benham was born at Cheshire, Connecticut. He graduated at the top of his class from the United States Military Academy in 1837. He was connected with various government works as a member of the Engineer Corps, and served in the Mexican War in 1847–48. From 1849 to 1852, he was superintending engineer of the sea wall for the protection of Great Brewster Island, Boston Harbor, and from 1852 to 1853 of the Washington (D.C.) Navy Yard.
In 1861 he was appointed engineer of the Department of the Ohio; in the same year he was promoted to be a brigadier general of volunteers and commanded a brigade at New Creek. He disobeyed orders and was subject to a court martial after the battle of James Island on June 16, 1862, at which he was in immediate command under Major General David Hunter. From 1863 to 1865, with the rank of lieutenant colonel, he was in command of the engineer brigade of the Army of the Potomac.
Benham was mustered out of the volunteer service on January 15, 1866. On January 13, 1866, President Andrew Johnson nominated Benham for the award of the brevet grade of major general of volunteers to rank from March 13, 1865 and the U.S. Senate confirmed the award on March 12, 1866. On December 11, 1866, President Johnson nominated Benham for the award of the brevet grade of major general, U. S. Army, to rank from March 13, 1865 and the U.S. Senate confirmed the award on March 2, 1867. Promoted to colonel in 1867, he was in charge of the Boston Harbor sea wall from 1866 to 1873, and of the defenses of New York Harbor from 1877 to 1882. He was an expert in the construction of pontoon bridges.