再起
羊山で暴風雨に巻き込まれた鄭軍は、戦船の修理の為、舟山まで引き返した。その一方、浙江沿岸の台州や温州を攻撃して、食料や軍事物資を調達していた。
1658年9月、鄭軍は象山へ侵攻した。この際、知県(県知事)の徐福は食料を献上して投降した。
10月、後衛鎮の劉進忠が清へ投降。周全斌が後を追うも、取り逃がす。
10月25日、鄭軍は浙江の磐石衛を攻撃。11月7日に攻略を果たした。『先王実録』には、この際の鄭軍の様子を「虜を殺すこと無数」と書かれている。この虐殺が軍紀の乱れによるものなのか、はたまた国姓爺の指示であるかは不明だが、いずれにせよ、先の出征時に出された、民衆への暴行を禁じる布告とは相反する結果となってしまった。
その後、国姓爺は部隊を勢力範囲各地に再配置し、自身は沙関に駐屯、南京攻撃の準備に専念した。
進発
1659年3月、鄭軍は磐石衛に集結。
4月、南京攻略に向けて三度目の出航。まずは、浙江の定海関と寧波を攻略した。
5月4日、舟山に到着。国姓爺は訓示にて、「我が軍の一挙一動は、天下ひとしく敬仰するところ、功名事業、またこの一挙にあり」と諸将を鼓舞した。
5月17日、今回は何事も無く、羊山沖を通過。
5月18日、長江の河口、崇明島に到着。同島は清の名将・梁化鳳が守備しており、国姓爺は崇明島を通過して瓜州へ進もうと考えた。しかし、配下の張煌言が「後顧の憂いを断つ為、崇明島を占領してから進軍すべきである」と進言した。対する国姓爺は「崇明島の守りは固く、攻略には時間を要し、その間に瓜州は備えを固めてしまう。まず瓜州を奪って糧道を断てば、崇明島は自ずから瓦解するであろう」と述べ、張煌言の進言を退けた。
いずれにせよ、鄭軍はいよいよ長江の溯上作戦に取り掛かった。
瓜州・鎮江攻略
1659年6月1日、江陰を攻撃するも、清軍の頑強な抵抗に遭ったため、攻撃を中止して長江を溯上。
6月13日、焦山に到着。祭祀を行い、戦勝を祈願した。
国姓爺は、南京への交通路(補給路)を遮断するため、瓜州と鎮江の攻略を試みた。そしてまずは6月16日、瓜州の攻略を果たした。
6月17日、軍議を開催。この際、甘輝は「瓜州周辺の守りを固た上で、李定国に使者を送り、連携して進軍すべき」と主張。対して周全斌は速戦案を主張し、国姓爺は周全斌の方針を採用した。またこの際、張煌言が「別動隊を率いて蕪湖を攻撃した後、本隊と連携して動く」と提案し、採用された。
はたして鄭軍は鎮江へ進軍。6月22日から23日にかけて銀山で白兵戦が繰り広げられた。この際、周全斌は自軍の後方に縄を張り、疑似的な背水の陣を敷いて戦った。この戦いで鉄人部隊が活躍し、鄭軍は大勝利を得た。敗れた清将・菅効忠は「私は満州から中国に入って17回戦ったが、こんな敗け方は初めてだ」と語ったとされる。そして鄭軍は24日、鎮江の占領を果たした。
また、別動隊を率いていた張煌言も、蕪湖の占領に成功している。
南京進軍
瓜州及び鎮江の占領を果たした国姓爺は、1659年6月28日、南京攻略の軍議を開いた。この時も、先日の軍議と同じく、甘輝が「瓜州と鎮江を固守し、南京への交通を遮断しておけば、自ずと南京は落ちる」と慎重論を唱えた。しかし国姓爺は、ここでも速戦の方針を崩さなかった。
そうして7月7日、遂に国姓爺は南京城の十六外郭門の一つ、観音門に到達した。
7月10日には獅子山に駐屯。
この頃の国姓爺の作詩として、「師を出して満夷を討ち、瓜州より金陵(南京)に至る」という作品がある
縞素(白服)江に臨み、誓って胡を滅ぼさん
雄師十万、気、呉(江蘇地方)を呑む
試みに看よ、天塹(天然の水濠、長江)鞭を投じて渡らば
信ぜず、中原の姓、朱(明朝の姓)とならざるを
詩は、国姓爺の自信のほどが伺える内容となっている。
7月12日、南京を包囲する布陣が完了し、いよいよ国姓爺・鄭成功、運命の一戦が幕を開ける。
趨勢
国姓爺を迎え撃つ清将・郎廷佐は「堅壁清野」の作戦を実行した。これは、城外の家を全て焼き払った上で、住民を城内に収容する、敵に一切の物資を渡さない為の作戦であった。
さらに郎廷佐は「清の将は、30日間城を守れば、その後敗れても妻子が罪に問われない」ことを国姓爺に伝え、攻撃を遅らせる様に仕向けた。無論、これは時間稼ぎの計略であったが、国姓爺は郎廷佐の言を容れ、敵の降伏を座して待つことを決めた。
甘輝ら一部の幹部は、郎廷佐の言は信が置けないこと、すでに戦機が熟していること、長期の駐屯は兵の士気を下げること、などを挙げて速戦を促したが、国姓爺は受け入れなかった。後に非難されることの多い、この際の国姓爺の判断であるが、先日の瓜州・鎮江での大勝からくる驕りに加えて、後に自らの本拠になるであろう地を荒らすことへの抵抗感があったのかもしれない。
南京城を包囲していた国姓爺だったが、その包囲には一つだけ抜けがあった。それが南京城の北側にある「神策門」である。この門は、当時使用されておらず塞がれており、外から見ると只の城壁の一部であった。清軍はこの門を密かに補修し、非常時に開けられるようにしておいたのである。1659年7月22日、突如、清軍が神策門より出て奇襲を敢行した。まさか城内から奇襲を受けるとは想像していなかった鄭軍は、対応が遅れ、将兵は混乱した。そんな中、崇明島から駆けつけた清将・梁化鳳の援軍も現れ、国姓爺は観音山への撤退を余儀なくされた。
7月23日、観音山に布陣した鄭軍に、再び梁化鳳軍が攻め寄せた。梁化鳳は一気呵成に山上まで駆け上がり、布陣していた楊祖らを討ち取った。そして、そのまま斜面を駆け下り、山内に布陣していた張英を討ち取った。またこの際、国姓爺軍の中核を担った甘輝も捕縛された後、殺された。
余談だが、この戦いで活躍した梁化鳳は、この後、江南総督に昇進している。
撤退
1659年7月24日、国姓爺は鎮江まで撤退した。この戦いで命を落とした将は中提督・甘輝、後提督・万礼をはじめ、左武衛・林勝、鉄人部隊の指揮官・陳魁、五軍・張英、前衛鎮・藍衍、他多数であり、国姓爺は惨敗を喫したと言えるだろう。
7月25日、国姓爺は敗戦の責任を問い、観音山上に布陣した将達を斬ろうとしたが、「これ以上、幹部を減らすべきではない」との諸将の意見を容れ、思いとどまった。
7月28日、鄭軍は鎮江を放棄し、長江を下った。この際、別動隊を率いて蕪湖にいた張煌言は、「勝敗は兵家の常。幸い、こちらは万事順調に進んでおります。私の戦艦百隻を送りますので、捲土重来、再度南京を攻めてください」と国姓爺に伝えたが、撤退を止めることはできなかった。この後、孤立した張煌言は天台山に逃げ込み、消息を絶った。
8月8日、国姓爺軍は崇明島にさしかかった。3か月前、進軍の際に梁化鳳の抵抗に遭い、素通りした長江の中州である。この時、国姓爺は報復措置とばかりに崇明島の占領を試みた。しかし、此度も清軍の守りを崩せず、虚しく同地を後にした。
8月18日、林門(浙江省)に到着。浙江・福建一帯に諸将を配置し直した。
9月7日、思明州(厦門)に帰還。永暦帝に使者を出し、延平郡王及び潮王の爵位を返還。自ら招討大将軍に降格した。ちなみにこの頃、永暦帝は清軍に追われてビルマ王国に逃げ込み、同政府の監視下におかれていた為、謁見は適わなかったと思われる。
またこの頃、忠臣廟を建設して戦死者の霊を祀り、追悼式を営んだ。
此度の南京遠征に関して『台湾外志』には、「もって江南に出師し、兵を損し、将を折り、尺寸の功なし」と書かれ、酷評されている。