He served extensively during the Second Boer War, seeing action at Belmont, Enslin, Modder River, Magersfontein, Poplar Grove, Dreifontein, Vet River, Zand River, Johannesburg, Pretoria, Diamond Hill, Riet Vlei, and Belfast. Between January and July 1901, he commanded the 1st Battalion Scots Guards. He was mentioned in despatches during the war, and given a brevet promotion to lieutenant-colonel (dated 29 November 1900) in the South Africa Honours list 1901. Back with the 2nd battalion on the conclusion of hostilities in June 1902, he left Port Natal with men of this battalion on the SS "Michigan" in late September 1902, arriving at Southampton in late October, when the battalion was posted to Aldershot.