Robert was 35 years old and had served in the 16th Lancers for 14 years when on 14 February 1879 he volunteered to join the 17th Lancers, which he did the following day. This change of regiment was presumably because the authorities were looking for suitable volunteers to bring the 17th Lancers up to full strength as they were about to be sent to fight in the Zulu Wars.
The 17th Lancers sailed for South Africa on 25 February 1879. Robert had been Private 2204 for his first 10 days in the 17th Lancers, but the day after they sailed he was again appointed as a Shoe Smith. The regiment arrived in Natal on 6 April 1879 and moved on into Zululand. The final battle of the Zulu War was at Ulundi on 4 July 1879 when about 20,000 Zulus surrounded the British infantry, which formed a square with the 17th Lancers at its centre. Then when the Zulu attack faltered the 17th Lancers and other cavalry were ordered to charge and decimated the fleeing Zulu warriors, pursuing them until not a single live Zulu was left on the Mahlabatini plain. Robert was awarded the South Africa 1877-1879 medal with 1879 clasp for his service in the Zulu War during 1879