同治二年(公元1863年)七月二十日,曾國荃命蕭慶衍率七營湘軍,出印子山,向東迫近太平軍營壘下寨,駐守上方橋及七橋甕,太平軍竭力抵抗,使蕭慶衍七營隻有招架之功,而無築壘之力。曾國荃遂令總兵張詩日、李臣典等分軍攔截太平軍,使蕭慶衍七營湘軍得以築成進攻上方橋的營壘。二十二日,又令李祥等軍在蕭慶衍軍壘前又築新壘,並以大炮日夜攻擊上方橋太平軍。二十九日,湘軍與太平軍交戰,太平軍被擊敗,河下船隻盡數喪失。深夜,蕭慶衍偷襲上方橋、待太平軍察覺,湘軍已攻入壘中。次日,上方橋遂告陷落。江東橋是天京的西南要隘,十二日晨,江東橋被攻克。
天京城失去了上方橋和江東橋要隘後,天京城東南還有中和橋、雙橋門、六橋甕、方山、土山、上方門、高橋門及秣陵關、博望鎮,作為天京城的屏障。九月二十二日,上方門、高橋門、雙橋門石壘被蕭慶衍、陳堤、彭毓橘等攻陷。軍事要隘博望鎮,上可以接應皖南水陽,旁可以控製蕪湖金柱關。九月十九日駐守金柱關的湘軍守將朱南桂會同朱洪章、武明良偷襲博望鎮,取得成功。九月二十五日,陳堤、熊登武又攻陷了中和橋。既而,曾國荃又派趙三元、伍維壽奪取了秣陵關。至此,紫金山西南完全被湘軍所控製。
曾國藩在天京城東南多處被收複的情況下,於九月二十七日率領蕭慶衍、陳堤、彭毓橘、李臣典視察孝陵衛地勢,伺機擴大戰果。護王陳坤書等人自太平門、朝陽門出戰,企圖扼製曾國荃在天京城東的發展勢頭。無奈,被曾國荃擊敗,陳坤書也受了槍傷,不得不退回城裏,蕭慶衍乘機奪得孝陵衛。十月初五、初六兩日,曾國荃又先後派軍隊將天京城東的淳化、解溪、隆都、湖墅、三岔鎮等五個要隘攻克,使得天京城東百餘裏內無太平軍立足之所。十月十五日曾國荃率軍進紮孝陵衛。天京城漸被合圍。
此時在南京近郊,各方征調的大軍已達八十餘萬之多。曾國荃一再向江蘇巡撫李鴻章請援,但李鴻章自攻克常州以後,即不再理會。至六月十五日那天,湘軍所掘地道,長達十餘裏,已達南京中區了。曾國荃認為這條秘道即將大功告成,倘被天國識破,勢必前功盡棄,因此下令加緊炮轟,免得掘地聲給太平天國軍隊聽到。這時李秀成正輔佐幼主,雖屬智勇雙全,忠心耿耿,但從前所占府縣,既不能連貫一片,又不能統一攻守,因此後來被湘軍分別擊破,失地日增。在太平太國晚年,他已很悲觀。至此際,雖能勉守南京,已無出擊之力,此消彼長,彼此的形勢已相差太遠了。
這日未到午夜,湘軍在地道終點,使用大量炸藥,轟穿地麵。轟隆巨響,好像天崩地塌,大隊兵卒由李臣典等率領,湧出南京中心,一時間火煙遍地,喊聲震天。太平天國軍事先不防此變,備覺慌張。急由洪宣嬌等保衛幼主,李秀成、洪仁發、洪仁達、賴漢英、羅大綱、陳開、賴文鴻、吳汝孝、古峰賢、陳仕章、吉安瑾等各位將領,紛紛四出抵禦。而由地道湧上的這批湘軍,一部分四麵作戰,一部分已由中區攻向邊區的城門,使守城的天國兵士前後受到夾擊。頓時有幾個城門被攻破,這時城外清軍,如同黃河決口般地蜂擁而入,逾進逾多。李秀成、洪仁發等混戰至將近天明,雖把清軍悍將如李臣典等殺傷數人,但想到自己外無援軍,人馬越戰越少,知大勢已去,匆忙混亂之中,碰著幾位將領,急忙率領殘部,殺開一條血路,向西門突圍。
清軍當初既已密圍南京,何以這時的天國將領還能向西門突圍而出?原來曾國荃幕僚們早已計議妥善,認為地道妙計,攻克南京,已具把握。目的第一是在破城,硬要堅圍,勢必雙方多傷人馬。第二是天國失敗以後,必求生路,如果困門,自己也死傷必多,因此有意留出兩門。其實天國之地,倘若不是被從地道突破,守城實力還是足夠。這時誌在逃生,不管任何一個城門,也能突圍衝出的。然而,曾國藩的湘軍畢竟太龐大了,又早有準備,終使太平軍慘敗,天京陷落。