1853年正月初二,太平军在武昌庆祝新年后,便顺江而下直取南京。天王洪秀全先行登舟,杨秀清、韦昌辉、石达开、秦日纲、罗大纲统率水师护卫,林凤祥、李开芳率陆军夹岸护卫,老幼妇女也乘船随行,浮江万艘,浩浩荡荡。
如今太平军已扩充至数十万,人数众多,声势浩大,沿途防堵清军却不过数千人,纷纷望风而逃。1853年,2月18日,太平军占领江西九江,接着攻克彭泽、小孤山,沿途守军未作任何抵抗。2月24日,攻克安徽省会安庆,总兵、知府相继逃跑。太平军杀死安徽巡抚蒋文庆,在安庆缴获大量饷银、米粮,还有铜炮数百门,火药炮子无数。太平军在安庆疯狂扩军,总人数发展到七十万余万,能战斗的士兵有十几万。
1853年3月8日,太平军前锋李开芳部抵达南京,与清军遭遇。武汉自南京沿江路途1800里,李开芳部竟然一个月攻至南京,平均每日行军六十余里,沿途清军几乎没有抵抗,实在令人震惊。
此时的南京城内仅有正规军五千人,而围城太平军号称两百万,实际七八十万人差不多。听老人说:登上三山门看过去,城外至江东门一望无际,十余里,人山人海,到处都是红头人……
太平军先头部队李开芳部在南京城外与米行脚夫组成的地方练勇发生激战。清军正规军躲在城墙上呐喊助威。这时,林凤祥率陆军精锐万余人赶来与李开芳会合,太平军攻势更加猛烈,新运到的几千斤大炮威力无比,城内多处建筑被轰平,固若金汤、龙盘虎踞的南京城被打得千疮百孔,这时总督陆建瀛几欲弃城而逃。
太平军夺占城外重要据点,以雨花台为核心,修筑大量营垒,又将陆建瀛抛弃在城外的炮兵阵地有效利用起来,昼夜轰击南京城,夜晚又放火焚烧城外寺庙、古迹,火光冲天,声势浩大,城内清军胆寒心惊。林凤祥很注意使用心理战术恐吓陆建瀛,实施战术性的骚扰攻击,引诱清军消耗炮火,夜晚不间断地佯攻,使得守城士兵夜不能寐。南京城内的天地会也不断搞破坏,搞得城内人心惶惶,士兵杯弓蛇影,守城意志不断瓦解。加之太平军在城外示以仁义,买老百姓的东西出双倍价钱,许多南京百姓纷纷盼望太平军入城。
杨秀清下令太平军在静海寺、天后宫等地开挖地道。3月19日,静海寺附近的地道三处同时爆破,狮子山上方向的城墙被炸开两丈的缺口,炮兵又猛烈轰击缺口,太平军突击队从缺口冲入,仪凤门告破。太平军突击队抓获总督陆建瀛,将其杀死,汉兵全部溃散。南京城内驻扎的旗人部队,战斗力很强,全歼太平军突入城中的部队。眼看仪凤门爆破功败垂成,此时,先前假扮和尚入城避难的太平军,拿起军刀,砍杀聚宝门守军,此时聚宝门守军已大部调往仪凤门增援,所剩士兵很快被和尚杀散,李开芳率军突入聚宝门,紧接着太平军大队入城,完全控制了局面。
太平军攻打南京城内八旗士兵控制的满城,满城是原明朝皇宫旧城,城垣极其坚固,防御工事完备。因为太平天国推行对旗人的无区别杀戮的政策,城中八旗只得与太平军死战到底,因此满城的战斗,惨烈的状况前所未见。杨秀清亲自指挥太平军主力围攻正阳门、朝阳门,数万老兵在炮火的掩护下潮水般冲击满城,城中旗人疯狂反扑,妇女皆上城墙与太平军搏杀,老人孩子也在城墙上呐喊助威。杨秀清连续发动三次强攻,都被打败,阵亡数千人,尸体堆积如山。
旗人士兵虽然抵抗十分凶猛,但与太平军人数相差太大。杨秀清命部队以车轮战术消耗清军,连续猛攻突破城墙,清军主帅祥厚自刎,其余满人均被太平军所杀。太平天国在付出数万人的惨痛代价后,全面占领南京。
太平天国改南京为天京,定为都城,然而清廷对太平天国的围剿还在继续,清军在扬州建立了江北大营,在南京城东孝陵卫一带建立江南大营,威胁着太平天国都城天京的安全。