永曆十二年(1658年,清順治十五年),鄭成功統率水陸軍十七萬與浙東張煌言會師,大舉北伐。大軍進入長江之前,於羊山海域遭遇颶風,損失非常慘重,只得暫且退回廈門。
翌年(永曆十三年,1659年,清順治十六年),鄭成功再次率領大軍北伐,會同張煌言部隊順利進入長江,勢如破竹,接連攻克鎮江、瓜洲,接連取得定海關戰役、瓜州戰役、鎮江戰役的勝利,包圍江寧府城(原明南京)。張煌言部亦收復蕪湖一帶十數府縣,江南一時震動,百姓紛紛剪去髮辮脫去旗袍並哭聲言道:「時久不見大明衣冠矣!」後因鄭成功中清軍緩兵之計,遭到清軍突襲,使明軍大敗,損兵折將,包括潘庚鍾、甘輝、萬禮、林勝、陳魁、張英等大將皆死於此役。鄭成功兵敗後,試圖攻取崇明縣,做為再次進攻長江的陣地,卻久攻不克,只好全軍退回廈門。南京之戰可說是鄭成功生涯當中最輝煌及重要一役,卻是先盛後衰,大敗收場,使鄭成功反清大業受到重大挫折。
永曆十四年(1660年,清順治十七年),在福建海門港(今龍海東)殲滅清將達素所率水師四萬餘人,取得廈門戰役勝利,聲威復振。