He served in the Indian Mutiny campaign of 1857–8 with the Jaunpur field force, attached to 97th Regiment. He was at the actions of Nasrutpur, Chanda (31 October), Ameerpur, and Sultanpur, at the siege and capture of Lucknow, and storming of the Kaisarbagh. The medal with clasp was awarded him. From September 1858 to April 1859 he acted as field-adjutant to Colonel (Sir) William Turner, commanding the troops on the Grand Trunk Road, near Benares, and the field force during operations in Shahabad. He was engaged in the final attack on Jugdespur, and in the action of Nowadi, and the subsequent pursuit. Mentioned in despatches, he was promoted captain on 2 December 1859, and was made brevet-major on 30 November 1860. Gordon performed regimental duty in India for the next eighteen years; he was promoted major in 1860 and exchanged into the 46th Regiment. Subsequently, he was given the command of the 29th Punjab Infantry, becoming lieutenant-colonel on 21 August 1875, and brevet colonel on 23 February 1877. He served with the Jowaki Expedition in 1877–8, and was mentioned in despatches three times, receiving the medal and clasp.