Mancò all'attacco del forte di Dagu ma fu presente all'occupazione di Pechino ed alla distruzione del palazzo d'estate. Rimase con le forze britanniche che occupavano la Cina del Nord fino ad aprile del 1862 quando le truppe, al comando del generale William Staveley, si ritirarono a Shanghai per proteggere lo stanziamento europeo dall'esercito dei Taiping che stava minacciando la città. I successi negli anni 1850 nelle province di Guangxi, Hunan e Hubei ed il blocco di Nanchino del 1853 avevano ritardato l'avanzata dei ribelli. Per molti anni i Taiping erano avanzati gradualmente verso est, ed erano infine finiti abbastanza vicini a Shanghai, da allarmare gli abitanti europei. La città reclutò una milizia di Europei ed asiatici per la sua difesa. Questa forza, comandata dall'americano Frederick Townsend Ward, aveva occupato il paese ad ovest di Shanghai. La lotta intorno a Shanghai continuò lentamente per circa due anni. I britannici arrivarono in un momento cruciale, Staveley decise di ripulire dai ribelli un'area di 50 chilometri da Shanghai in collaborazione con gli statunitensi e una piccola forza francese. Gordon era stato nominato ufficiale ingegnere. Jiading (Kahding), Qingpu (Singpo) ed altre città furono occupate e la zona fu ripulita dei ribelli alla fine del 1862. Ward era stato ucciso nella battaglia di Tzeki ed il suo successore era malvisto dalle autorità imperiali cinesi. Li Hongzhang, il governatore della provincia di Jiangsu, chiese a Staveley di nominare un ufficiale britannico per comandare il contingente. Staveley selezionò Gordon, che era diventato maggiore nel dicembre 1862.