十月十一日,李鸿章亲自到苏州前线,视察了东、南、北各门的地形。他描述苏州的城防工事:“太湖之水由胥口、鲇鱼口流入苏州胥、盘两门,外绕至娄门、齐门,大河如带,横竖三四道环卫城垣。该逆凭河筑长城,周围十余里,枪眼炮台层层密布。长城内石垒土营数十座,南自盘门,北至娄门,联络扼守。墙内多穴池,为屋堆土覆板于其上,以避开花炮,布置极为严整。”太平军占领苏州后,把阊门改称大西门,胥门改称小西门,盘门改称南门,葑门改称小东门,娄门改称大东门,齐门改称北门。城上雉堞一律砌平,仅留炮口,每隔数百步,搭建一座芦篷,外罩布幔,作为更楼,入夜有人打鼓敲更,互相呼应。
当时,苏州城内,有慕王谭绍光、纳王郜永宽、比王伍贵文、康王汪安钧、宁王周文佳诸王,还有三十五位天将,统领着十几万大军。无锡的忠王李秀成、侍王李世贤,闻警后亦派援军驰赴苏州,由浒关背后灵岩、木渎小路搭桥入城,加强城内守军力量。如果淮军要以强攻拿下苏州,很可能有一次残酷、惨烈的战斗。这座有两千三百多年历史的古城,也将面临毁于一旦的厄运。
仿佛预感到地狱烈火即将降临,平日鸢飞鱼跃的太湖、阳澄湖,如今一片死寂,飞潜动植,尽皆敛戢。李鸿章与程学启、戈登商量后,决定对娄门作一次小规模的攻击,以探清太平军的防御力量。娄门位于苏州城东北,分外城、中城、内城三重,内城筑有城楼,城门之间有空地和闸门,城门南面还有三道水城门,堪称金城汤池,易守难攻。
十月十六日晚,四更时分,一支淮军先锋队吃饱了饭,衔枚潜行,逼近城壕,趁着朦胧的月色,架搭浮桥。讵料太平军早有防备,从城垛上开枪射击,子弹密如雨下。戈登马上带着洋兵冲上前,用炸炮、火箭还击。李鸿章描述战况:“贼于暗地藏避,抵死对击,伤我弁勇数十名、毙洋兵头目数人。程学启大呼猛扑,万枪排放,殪贼无数,而守垛悍逆寂然不动,天已向明,乃各撤回。”
淮军调集四十六门大炮,从十九日开始,对准苏州古城外围的长城卡营开火。炮击长达三时,山崩地裂的巨响持续不断,娄、齐∽、盘四门外长城十余里,太平军卡垒二十余座,全部陷入烟尘火海之中。
辰刻,大旗一挥,进攻开始。李鸿章振衣登上望楼,亲自督战。程学启引一军沿南岸推进,戈登引一军沿北岸推进。李鸿章写道:“该逆旗帜布满,戈登督率洋弁,排列开花大小炮位,对准轰击,自辰至午,长城坚垒,土石乱飞,塌缺十余处,守垒之贼,当之辄碎,余均伏于窟中。”
程学启再次率领兵勇,乘势在城壕上架搭浮桥。这时,大股太平军从城内冲出,支援城外守军。淮军一边开枪阻击,一边纷纷抢过浮桥。千军万马,拥挤在城壕边,盘涡毂转,咆哮如雷。戈登率洋兵率先登上营墙,展开肉搏。“各军分头攻夺,忠逆大队拼力冲突,程学启督令鏖战数十回合。该逆狂奔入城,陈东友水师复由黄天荡登岸夹击,所有娄门∽门贼垒二十余座,次第烧毁,择其冲要者分兵驻守。是役也,弁勇伤亡五百余人,毙贼五六千人,为苏军近来未有之恶战。”
至此,苏州城外东、南、北三面,均为淮军控制,可以直抵城墙下。十九日晚上,纳王郜永宽派人潜出城外,与程学启的部将郑国魁联络,表示愿意杀死慕王献城。郑国魁迅速向程学启报告,程学启亦立即向李鸿章报告。李鸿章起初半信半疑,担心又中诈降之计。第二天接到探报,说李秀成率所部万余人,已连夜出胥门,由灵岩、木渎水道撤走。献城之议,似有几分真实,李鸿章便让程学启负责接洽。