顺治十五年(1658),清军三路进兵西南,永历政权岌岌可危。在东南沿海积极抗清的郑成功见清军主力集中于西南,决定溯江而上,直捣南京。一方面缓解永历政权危局,另一方面也能扩大抗清战果。
经过一番谋划,顺治十六年(1659)五月,郑成功与监军张煌言等率领三千多艘战舰,十多万兵力,从吴淞口进入长江。据《小腆纪年附考》记载,六月初八日,郑成功大军进至镇江江面,泊舟焦山。十三日,郑成功在焦山祭天,军队旗盖、袍服皆用赤色,望之如火。十四日祭地,望祀山川、岳渎,用黑色,望之如墨。十五日,吉服祭明太祖,随后又身穿缟素衣服祭崇祯帝、隆武帝,望之如雪。三祭已毕,恸哭誓师,三军皆泣下。这样的场面,委实感人。
面对来势凶猛的郑成功大军,清军也加强了防御。据《明季南略》等书记载,镇江和瓜洲之间江面十里,清军用巨木筑成长坝,截断江流。坝宽三丈,以泥覆平,上可驰马,将其称为“木浮营”。“木浮营”左右木栅内设有火炮。清军用“围尺大索”牵接“木浮营”两端,耗费金钱逾百万。“木浮营”刚刚建成,就碰上潮水猛涨,坝被冲断。清军南京部院郎廷佐亲自祭江,然后再筑坝,终于筑成,“设兵严守”。蒋国柱、管效忠、高谦等协守镇江。
除了“木浮营”外,清军还在金山、焦山之间,用铁锁相连截断大江,名为“滚江龙”。要想攻占瓜洲和镇江,能否击破清军“木浮营”、“滚江龙”至关重要。
郑成功派遣海舟,外面蒙以白絮,内载乌泥,扬帆而上。清军见了,炮矢俱发,有如轰雷,可闻三百里。海舟一直在“木浮营”附近逡巡,一来是诱使清军发炮,使其损失炮弹;二来海舟之内藏有水兵,海舟靠近“木浮营”,水兵便会跳入江中,沉入水底,去砍“滚江龙”。不多久, “滚江龙”被凿断,而此时清军“木浮营”上所置的炮矢几乎没有了。
此役郑成功大军亦损失惨重。监军张煌言亲领海舟,参与了此战。他在《北征录》中记道:“两岸炮声如雷,弹如雨,诸艘或折樯,或裂帆,水军之伤矢石者,且骨飞而肉舞也。余叱舟人鼓棹,逆入金山,共总数百艘,得入者仅十七舟,而本辖则十三。”
次日,右武卫统领周全斌率士兵浮渡登上长江北岸,虽身中五箭,仍奋勇直前。清军大溃,瓜洲遂被攻下。据《爝火录》记载,郑成功以刘猷守瓜州,“余皆渡江趋镇江”。
清军镇江守将告急于南京。洪承畴麾下一位姓罗的将军,领着铁骑千人,赴镇江驰援。清军“被甲如雪”,罗将军言称“海贼不足杀也”。驻守常州、无锡、江阴等地的清军也纷纷发兵支援,清军“骄躁,急欲与战”。郑成功所部海舟与清军打起了“游击战”,在江面上“忽上忽下”。清军驻南,他们就泊北;清军驻北,他们就泊南。清军在长江南岸追逐三日,甚是疲惫。
据《明季南略》记载,此时恰逢酷暑,又遭遇大雨,雨过复热,热气熏蒸,清军身披盔甲,难以忍受。就连战马奔走两昼夜,也都张口喘息。城内有百姓将饭菜、炒米等送至江边,由于太渴,清兵竟无法下咽。有的清兵整整两天,都没有吃什么食物。如此一来,清兵战斗力可想而知。
郑成功决定登岸展开反攻。他将麾下士卒分为五队,分别是五色旗、蜈蚣旗、狼烟、铳、大刀。每队都有两人负责滚被。什么是滚被呢?就是身披二寸厚的棉被,如果清军箭射来,就用棉被挡箭,箭过后,卷起棉被,一拥而上,持刀猛砍清军马足。另一人在旁敲鼓,鼓声缓则行兵缓,鼓声急则行兵急。
由于登岸的士卒皆是步兵,清军颇有轻敌之意。原来,以骑兵对战步卒,清军颇有经验。他们遇上步卒,通常是勒马退数丈,然后加鞭冲向前去,这样一来,步卒自相践踏,溃不成军,清军往往轻易便能大获全胜。可令清军没想到的是,郑成功麾下步卒登岸后,却是“严阵屹然不动,围牌自蔽,望之如堵”。清军“三却三进”,而“郑阵如山”,清军“长技尽矣”。清军欲要“却马再冲”,只见对方阵后黑烟冉冉升起,步卒疾走如飞,冲上前来。步卒三人一伍,一人手执盾牌,挡住另外两人。另两人一人负责砍马,另一人负责砍人,“其锋甚锐”。清军虽死伤甚众,但却不敢退却。因为提督管效忠立于阵前,谁敢退却,即被斩首。
双方大战良久,步卒阵中白旗一挥,步卒即两边散开,似要退避。有的伏在地上,似乎是逃走不及的模样。清军见状,“驰马突前”,不料海舟之内突发大炮,清军千余人被击中丧命。清军大败,退守银山。
银山上,管效忠远远地对着郑成功喊道:“从来止有马上皇帝,岂有水中皇帝乎!上来决战!”其实,此时的郑成功考虑到银山特殊的战略位置,已在思考攻山之策。二十二日,他以海舟载兵二千,结营于阳蓬山之菜园。据《海上见闻录》记载,双方“只隔一港,满兵惊”。
当夜,郑成功令陈魁带领一支“铁人军”逼近清军营栅。所谓“铁人军”,指的是这支军队身披铁甲。清军守将见了,很是害怕,不敢出战。用箭射去,箭不能入。“铁人军”冒死进军,清军营栅很快就被攻破。到了天明,清军复来反攻,郑成功令发大炮,“多鼓钧声,江水腾沸,廊瓦皆震”,清军虽奋力死战,但已难挽回败局。将近中午的时候,清军大败,啑血填壕。管效忠带领一百四十名残兵,逃奔南京。他哀叹道:“吾自满洲入中国十七战,未有此死战也。”
郑成功麾下有位叫杨英的将官,参与了这场银山之役。他在《从征实录》一书中记道:“大发伙兵搜山,杀其马步亦不知其数,生捉马匹、骆驼并盔甲、弓箭、鸟铳、行营炮等器械亦不计数。自辰鏖战至未时收军,查点我师,只是被箭重伤,被炮打死数名而已。是亦一大胜也。”
清军失守银山,外城已失,镇江孤城难守。眼见大势已去,驻守镇江的清军守将高谦、知府戴可进,献城投降。