When the Civil War broke out in 1861, he accepted a commission as a first lieutenant in the regular 18th Infantry regiment of the U.S. Army. His service was undistinguished, but he appeared at Shiloh (although he saw little action) and in the Murfreesboro, Chickamauga, Atlanta, and Nashville campaigns. He rose to the rank of captain by the end of the war and claimed never to have missed a day of service for any reason. From 1865 to 1893, Mills remained on duty with the Army, mostly engaged in campaigns against Indians, notably at the Battle of the Rosebud and the Battle of Slim Buttes (1876) where he led cavalry under the command of George Crook. Mills rose gradually to the rank of colonel and was appointed brigadier-general in 1897 when he was placed on the retired list.