Urodził się w rodzinie oficera artylerii. W 1848 wstąpił do akademii wojskowej w Woolwich, po której ukończeniu uzyskał w 1852 przydział do wojsk inżynieryjnych jako podporucznik. W 1854 odkomenderowano go na Krym, gdzie uczestniczył w wojnie krymskiej, w tym w oblężeniu Sewastopola. Kilkakrotnie wymieniany wtedy w meldunkach brytyjskich. Odznaczony za męstwo przez Francuzów. W 1859 roku Gordon awansował do stopnia kapitana. Na ochotnika zgłosił się do armii brytyjskiej walczącej w wojnie Wielkiej Brytanii i Francji przeciwko Chinom w latach 1856–1858 i w 1860. W trakcie okupowania Pekinu w październiku 1860 dowodził oddziałem, który spalił cesarski pałac letni. W trakcie powstania tajpingów w Chinach brał udział w obronie zagrożonego przez powstańców Szanghaju, nadzorując w maju 1862 budowę fortyfikacji w tym mieście. Po śmierci Fredericka Townsenda Warda przejął chińsko-cudzoziemski oddział o nazwie Armia Zawsze Zwycięska (Armia Niezwyciężona), której Ward był organizatorem i pierwszym dowódcą. Składała się ona z 3500 chłopskich najemników dowodzonych przez europejskich dowódców[1]. Na jej czele zdobył wiele miast w delcie Jangcy, podał się jednak do dymisji, gdy cesarz Chin zaczął skazywać na śmierć powstańców.
W 1874 z ramienia rządu angielskiego udał się do Egiptu, stopniowo uzależnianego od Anglii. Na skutek próśb ze strony rodaków Gordon powrócił do Chin, otrzymując najwyższy stopień w armii chińskiej – titu (naczelny wódz), lecz nie wyraził zgody na przyjęcie od chińskiego cesarza 100 000 sztuk złota, czym zyskał opinię człowieka odpornego na korupcję. Uzyskał Order Łaźni. W 1865 powrócił do Anglii, gdzie nie powierzono mu dowództwa nad żadną z jednostek bojowych armii brytyjskiej, lecz przez 5 lat przyszło mu kierować pracami inżynieryjnymi podczas renowacji fortów w Gravesend i Tilbury. W 1873 został awansowany na pułkownika i wysłany do Sudanu, gdzie czekało go objęcie stanowiska gubernatora i misja zwalczania handlu niewolnikami. W 1880 wyjechał do Indii jako sekretarz wicekróla, po czym odbywał służbę w Chinach, na Mauritiusie i w Afryce Południowej.
Był zwolennikiem przyznania autonomii Botswanie, Afryce Południowej i Irlandii[2], przez co ściągnął na siebie niechęć władz brytyjskich. Belgijski król Leopold II Koburg zaoferował mu urząd gubernatora Wolnego Państwa Kongo, jednak w 1881 Muhammad Ahmad ibn Abd Allah al-Mahdi znany jako Mahdi z Sudanu wywołał powstanie w Sudanie przeciwko rządom angielsko-egipskim. Opinia publiczna w Wielkiej Brytanii głośno domagała się interwencji[2]; Charles Gordon przeprowadził tam szybką ewakuację armii Egiptu i Anglii. W lutym 1884 Gordon przybył do Chartumu – stolicy Sudanu. Wyekspediował z miasta 2000 kobiet i dzieci, a również i chorych oraz rannych ludzi. Prawie miesiąc później – 13 marca – oddziały Mahdiego przystąpiły do oblężenia miasta.
Na skutek zwlekania władz, które dopiero w październiku 1884 przysłały wojska, Chartum został zdobyty, a Gordon i inni obrońcy miasta zginęli. Odsiecz znalazła się w Chartumie dwa dni po tym wydarzeniu. Do dzisiaj nie zostało ustalone, w jakich dokładnie okolicznościach Gordon stracił życie[2]. Rząd brytyjski odmówił wcześniej wsparcia Gordonowi uznając, że nie wykonał rozkazów w sprawie ewakuacji, lecz dopiero naciski[2] ze strony opinii publicznej i królowej Wiktorii skłoniły go do zmiany stanowiska. Skutkiem śmierci Gordona była dymisja drugiego rządu Williama Ewarta Gladstone’a.
Spuścizna
Gordon został bohaterem narodowym Wielkiej Brytanii po swojej śmierci, za którą Brytyjczycy[2] oskarżyli zbyt późne udzielenie wsparcia ze strony rządu. Oficjalny dworski poeta, Alfred Tennyson, poświęcił generałowi następujące epitafium.