顺治十四年(1657)四月,郑成功因地方频得频失,终无了局,召诸参军集议中兴大计。吏官潘庚钟、工官冯澄世、参军陈永华都主张进军江南以号召天下。郑成功从其议,派人前往广西请桂王旨,令孙可望、李定国集滇、黔、粤、楚之师,出洞庭而会江南,以分其势。七月,郑成功率军北伐,八月入海门尧台州,九月,天台、太平、海门卫相率归附。但浙闽总督李率泰侦知郑军精锐北上,乘机分兵攻陷罗星塔和闽安镇。郑成功担心两岛有失,只得暂时回师。
十二月,永历帝晋封郑成功为潮王,其余侯伯印数十颗。郑成功设长史、审理、典宝、典杖、典膳等官,一切照王府行事。
五月,郑成功传令准备北征。重颁出军十条禁令,不准奸淫、掳掠妇女,不许擅毁民房,不准掳掠男子为伙兵(防奸细投毒),沿海归顺地方不准混抢,不许掳掠、宰杀耕牛,不许借坐给牌商船。违者本犯枭示,将领连罪不贷。十三日,分全军作三程:中提督崇明伯甘辉领兵二万五千,配船五十只,为首程;右提督建威伯马信领兵二万,配船六十只,为二程;后提督建安伯万礼领兵二万,配船六十只,为三程;郑成功亲自领兵四万,配船一百二十只,为后合,号称八十万,浩浩荡荡,向北进发。
六月,招降平阳、瑞安、进围温州,全浙震动。
七月初九日至羊山。初十日午,飓风骤起,巨浪排空,雷雨交加,天昏地暗。酉时风浪始息,船只翻沉五十余艘。将士死八千余人,其余伤损无数,郑成功的六中军船也被打破,他的第六妃嫔和四子郑睿、七子郑裕、八子郑温,并船上男女老幼二百三十一人俱没水中。郑成功只得回师舟山,休整船只部伍。
顺治十六年四月十九日,郑成功在羊山之难以后经过半年多的整补恢复,闻清朝于头年二月调遣三路大军进攻云贵桂王政权,乃再次大举北征。为了举手制胜,首先一举攻克定海关炮城,进入宁波港,尽焚清军船只。待清朝拨浙直之兵来援时,郑成功已抽兵下船,扬帆北上了。
五月初四日,师至舟山,再以军纪晓诸将:“此行我师一举一动,四方瞻仰,天下见闻,关系非细。各提督统镇十余年栉沐亲勤,功名事业亦在此一举。当从恢复起见,同心一德,***襄大事。进入京都之时,凡江中船只货物,准其插坐,但要和衷,不准争竞;其岸上地方百姓,严察秋毫无犯。”
十八日,师至崇明,清总兵梁化凤敛兵坚守。郑成功欲顺风入取瓜州,张煌言、冯澄世都主张先取崇明以为后援之地。郑成功认为崇明城小而坚,取之必迟延日月,若得瓜镇截其粮道,然后乘势取江南,则崇明不攻自破。遂于十九日移泊吴淤口。清苏松提督马逢知有反正之意,郑成功乃密书约其***围南京。
六月十三日,师抵焦山。十五日,缟素祭奠崇祯、隆武,恸哭誓师,三军皆泣下。水陆齐迸,先攻瓜州。
镇江至瓜州江面十里,清军以百万巨资,用大木以两岸向江心筑起长坝,横截江流。左右复立木栅,内布火炮火铳,再以围尺大索牵接木坝两端,拒扼海舟,名曰“滚江龙”。郑成功以左右武卫屠中,甘辉居左,翁天佑居右,直捣瓜州。材官张亮督善泅水者首先斩滚江龙,郑成功挥兵大进,遂克瓜州。擒操江巡抚朱衣佐至,郑成功说:“此腐儒也,杀之徒污吾剑!”放归。为了控扼上游,截断清军江、楚之援,郑成功特委张煌育率领一支水师进军芜湖。
十九日,郑成功进泊镇江南岸七里港,二十二日夜抵银山。当时南京洪承畴部下的罗将军领铁骑千人赴援已至,其兵铁甲如雪,大言道:“这些海贼不够吾杀!”于是自为第一队,江宁提督管效忠领兵为第二队,苏、常四府之兵依次随后而进。罗兵骄躁求战,直冲郑成功中军营。郑成功亲督左右武卫亲军当其锋,几进几退。铳炮齐发,声震天地。郑军奋勇死战,(历史:)无不以一当百,罗兵披靡。管效忠又督其余各队来冲。铳炮矢石,密如雨点。郑军猛冲其阵,清军大溃,遍野横尸。管效忠部率四千人,仅存一百四十人,叹道:“吾自满洲入中国,身经十有七战,未有此二阵死战者!”清军既败,镇江守将高谦、知府戴可进、太平府守将刘世贤相继献城降。扬州文武各遁,百姓以彩旗羊酒到镇江请师。句容、仪真、滁州也先后纳款。江南各地人民十多年来不见明朝衣冠,今日明朝大军重来,人心为之鼎沸。
二十八日,郑成功集诸将议取南京。潘庚钟、甘辉力主暂住瓜州,遣将分据淮扬诸郡,然后再图进取。郑成功不听,甘辉又请陆行。但大军远来,不习水土,士卒多病,时又酷热多雨,沟河难过,不得已由水路进发。
七月初七日,师至南京城外观音门。郑成功命黄安总督水师泊三汊河口,堵御清船,亲领大军由凤仪门登岸,扎营狮子山一带。
江宁提督管效忠自镇江败回南京,与江南总督郎廷佐、驻防昂邦章京喀喀木坚守不敢出战。前在瓜州被郑成功释放的朱衣佐,这时又单骑入城,建议管效忠卑词宽限,麻痹郑成功,然后破敌。效忠依计派人到郑成功大营请求道:“大师到此,即当开门延入,奈我朝有例,守城者过三十日,城失则罪不及妻孥。今各官眷口悉在北京,乞藩主宽三十日之限,即当开门迎降。”潘庚钟当即指出:“孙子有云:‘辞卑者,诈也;无约而请和者,谋也。’此乃缓兵之计,不可凭信,可速攻之!”甘辉也说应当立即攻取南京,别图进取。郑成功因江上获得两次大捷,已有骄心。且以所约苏松提督马逢知之兵未至,遂不听诸将劝告,竟许敌请。
张煌言至芜湖,相度形势,出溧阳,镇池州,拔和州,入宁国,往来于姑苏、常熟之间,传檄郡邑,大江南北,四府、三州、二十四县相率送款。他见郑成功围城不攻,也上书劝道:“顿兵坚城,师老易生他变。亟宜分遣诸师,尽取畿辅诸郡邑。”但郑成功接书,为时已晚了。