Årene 1881–1882 ledet han ingeniørtroppene på Mauritius. Gordon ble i 1882 generalmajor – sluttpunktet i hans militære karriere. Gordon foretok samme år for å stanse kampene i Basutoland en misjon til Sørafrika, som imidlertid på grunn av de stedlige myndigheters holdning mislyktes. Etter å ha tilbragt året 1883 i Palestina stod han i 1884 i henhold til en avtale med Leopold II i begrep med å tre i dennes tjeneste i Kongo. Gordon påtok seg imidlertid i stedet å vende tilbake til Egypt, hvor det i de sudanesiske provinser var utbrutt opprør (mahdistopprøret), og reiste i februar 1884 som generalguvernør over Sudan med residens i Khartoum.