Podczas I wojny burskiej (1880–81) służył jako podporucznik. Został wzięty do niewoli podczas bitwy na wzgórzu Majuba. Jego odwaga tak zaskoczyła wroga, że gen. Joubert postanowił zwrócić mu jego szablę. W 1885 MacDonald służył pod dowództwem sir Evelyna Wooda podczas przegrupowania armii egipskiej. Wziął także udział w brytyjskiej ekspedycji na Nilu w tym samym roku. W 1888 otrzymał stopień kapitański w armii brytyjskiej, lecz zdecydował się kontynuować służbę w Egipcie, koncentrując się na szkoleniu oddziałów sudańskich. W 1889 roku otrzymał Distinguished Service Order (DSO) za przeprowadzoną operację podczas bitwy pod Toski, a w 1891 za kolejne zasługi w Taukarze został awansowany na majora.

Podczas powstania Mahdiego, Macdonald dowodził brygadą egipskiej armii, między innymi w tzw. wyprawie dongolskiej (1896) i znacząco zasłużył się w Abu Hammad (7 sierpnia 1897) oraz w bitwie o Atbarę (9 kwietnia 1898). Gdy w czasie bitwy pod Omdurmanem, brytyjski dowódca, lord Horatio Kitchener odsłonił swoje skrzydło na atak mahdystów, MacDonald osłonił wojska Kitchenera swoją brygadą i sprawnie manewrując, powstrzymał natarcie wroga, pozwalając pozostałym oddziałom brytyjskim na przegrupowanie.