When in 1879 the Anglo-Zulu War broke out, Harrison was attached to the troops in the Cape Colony and fought in the Battle of Ulundi. Already in the next year the British efforts to bring Southern Africa under its control, led to the First Boer War, during which he had command of a British contingent in Transvaal. Harrison served as assistant adjutant general in the 1882 Anglo-Egyptian War and joined the Battle of Tel el-Kebir, after which he appointed a Companion of the Order of St Michael and St George. Two years later, he accompanied the Nile Expedition, serving as colonel of its staff. Back in England, Harrison became Chief Royal Engineer of the Southeastern District in 1886 and of Aldershot Command in the next year. He was promoted to major general in 1888 and was appointed a governor of the Royal Military Academy, Woolwich in the subsequent year on whose occasion Harrison was made a Knight Commander of the Order of the Bath.