淮軍氣勢(shì)如虹,乘勝進(jìn)軍。同治二年(1863)三月十六日,程學(xué)啟率領(lǐng)十五營(yíng),一馬當(dāng)先,進(jìn)抵昆山東門下,跨河筑營(yíng)。昆山城四面大河,地勢(shì)平坦,吳淞江、婁江橫穿東西,分布著淀山湖、陽澄湖、澄湖、傀儡湖等大小湖泊,是江蘇省的東大門。太平天國(guó)占據(jù)后,把昆山、新陽兩縣合并,改名為昆珊。
這時(shí)常勝軍已開回松江休整?;窜娫诔窍乱贿B兩天,叫罵搦戰(zhàn),但城內(nèi)太平軍并不理會(huì),閉城固守。李鴻章親帶小隊(duì),由嘉定馳赴太倉(cāng),與李鶴章等人商定,在太倉(cāng)北門外,派駐重兵,扼守通往常熟、蘇州之路,以阻援兵。太倉(cāng)布置妥當(dāng)后,于三月二十三日,前往昆山城外,視察前線。
這番行程,十分緊湊,李鴻章自己記敘如下:“二十三日,馳往程學(xué)啟昆山營(yíng)次,察度城賊情形,堅(jiān)踞不出。我軍兩岸分扎,中搭浮橋,氣勢(shì)尚為聯(lián)絡(luò)。二十四、五日,周歷婁江、青陽江、吳淞江各河道宜用水戰(zhàn)之地,淮揚(yáng)水師陽利見、成俞卿、張光泰三營(yíng)分扼水口,與陸軍相為依護(hù)。二十六日,由水路折往青浦,飭守將滕嗣武加意嚴(yán)防,如蘇、昆窮寇乘虛內(nèi)竄,與現(xiàn)駐千墩水陸各營(yíng)互為應(yīng)援。二十七日至松江府城,面商戈登添備攻具,克期赴昆山會(huì)剿。是夜,仍馳回上海。”
四月初三,程學(xué)啟營(yíng)進(jìn)逼城根,開炮轟擊,昆山之戰(zhàn)正式開始——這場(chǎng)戰(zhàn)斗,后來成了李鴻章“平吳”大戰(zhàn)中的一幕人間悲劇。
守城的太平軍進(jìn)行了頑強(qiáng)的抵抗,李鴻章形容:“炮子往來如織,我軍不能仰視。”直到淮軍大炮的炮彈全部打光,有一艘輪船被太平軍擊中,煙火彌江。太平軍乘勢(shì)從南門殺出,直沖東門淮軍陣營(yíng)。程學(xué)啟率開中、開左兩營(yíng)與奇字營(yíng)迎戰(zhàn),洋槍齊發(fā),太平軍抵?jǐn)巢蛔?,丟下數(shù)百具尸體,退回城里。
初七,又有大股太平軍出南門,繞過東門,直撲青陽江一帶。程學(xué)啟派洋槍隊(duì)前往阻截,水師在江上開炮,猛烈的炮火,把太平軍逼回城里。但沒多久,太平軍又從北門沖出,撲向開字、新中營(yíng),并試圖在城外高坡上筑營(yíng)。開字營(yíng)洋槍隊(duì)哪里容他站穩(wěn)腳跟,馬上像螞蟻一樣圍上來,噼噼啪啪放槍,迫使太平軍放棄筑營(yíng),又退回城里。