鄭成功北伐，又稱鄭成功北伐金陵，是指從清順治十四年（1657年）四月到清順治十六年（1659年）六月，南明延平王鄭成功聯合西南永曆朝廷和東部的張煌言一同抗拒清廷的軍事行動。
從清順治十四年（1657年）五月到清順治十六年（1659年）四月，鄭成功先後三次出擊，最終被清廷擊敗。支援鄭成功的張煌言被殺。最後，鄭成功退回廈門島，並攻取臺灣島作為根據地，繼續對抗清廷。
背景
明末民變四起，清朝入主中原，建立中央政權。南明將領鄭成功反抗滿清政府十餘年。從清順治三年（1646年）起，鄭成功先後襲擊海澄、泉州、同安、雲霄、詔安、潮陽、漳州、潮州等地。
清順治十四年（1657年）四月，鄭成功在穩定了東南局勢以後，便無後顧之憂，乃召諸參軍集議中興大計。
鄭成功手下吏官潘庚鐘、工官馮澄世、參軍陳永華都主張進軍江南，以號召天下反清復。
鄭成功認為此法可行，隨後派人前往廣西請永曆帝旨，希望永曆政權令孫可望、李定國集滇、黔、粵、楚等西南各省的南明之師，出洞庭湖而會師江南，兩廣地區（廣東與廣西）反清地下組織也協助鄭成功，以分其勢。
北伐準備
由於鄭成功在南明昭宗永曆十年（1656年）四月「泉州戰役」，和永曆十年（1656年）十二月「護國嶺戰役」，這兩場北伐戰役，大勝清軍水師精銳，眾將士氣大振。東南沿海反清勢力，逐漸與鄭成功聯繫並協助對抗。
鄭成功先將設官改制，因為明昭宗永曆帝和鄭成功勢力相隔遙遠，特準鄭成功設定六官及察言、承宣、審理等官以方便施政。同時允許他委任官職，武官可達一品，文職可達六部主事。鄭成功每次拜封官員，都請寧靖王朱術桂等明宗室在旁觀禮，以示尊重體制。鄭成功同時將廈門（當時稱中左所）改名為思明州，並建造演武亭，以便鄭成功親自督察官兵操練。
一方面以此募兵（包含日本人、南島人、白人、黑人等外籍傭兵）及進口盔甲、銃砲、刀劍等武器來籌備軍力、軍備，另一方面命咨議參軍陳永華，在廈門進行海上貿易商業據點和糧食屯田，以便日後北伐供給。
北伐
第一次北伐
清順治十四年（1657年）五月，鄭成功傳令準備北征。
重頒了十條禁令：「不準姦淫、擄掠婦女，不許擅毀民房，不準擄掠男子為伙兵（防奸細投毒），沿海歸順地方不準混搶，不許擄掠、宰殺耕牛，不許借坐給牌商船。」違者本犯梟示，將領連罪不貸。
七月，鄭成功率軍北伐，八月入海門堯臺州。九月，天臺、太平、海門衛相率歸附。但浙閩總督李率泰偵知鄭軍精銳北上，乘機分兵攻陷羅星塔和閩安鎮。
鄭成功擔心兩島有失，後方震動引響軍心，只得暫時回師。
第二次北伐
清順治十五年（1658年）三月，鄭成功命各鎮舟師回廈門，在廈門港筑演武亭，精選良將銳卒，整編大軍，訓練營伍，籌集糧餉，準備大舉進攻江南。
當時，西南地區的抗清主力大西軍內訌之後，力量很弱，很難頂得住清軍的大舉進攻。他跟抗清將領張煌言聯合起來。
五月十三日，鄭成功留黃廷、洪旭鎮守廈門，留鄭泰防衛金門，自率甘輝等部北征，舉兵攻入浙江沿海，準備入長江。六月克鎮江等地，七月逼南京。
不幸的是在海上遇到颶風，鄭軍面對陌生的海域和突然來臨的颱風，鄭成功的船隊頓時陷入了絕境。在巨大的風浪中艦船不堪一擊，有的直接葬身魚腹，有的四散漂流，有的則在大陸海岸擱淺。鄭軍官兵和家眷傷亡慘重，僅溺水而死的就有八千餘人，其中甚至還有鄭成功的妃嬪和三個兒子。這次猛烈的颱風阻止了鄭成功北上的步伐，被迫撤退回廈門，也暫時化解了清軍面臨的危局。
第三次北伐
鄭成功的準備
清順治十六年（1659年）四月十九日，鄭成功在羊山之難以後經過半年多的整補恢復，聽說清朝于頭年二月調遣三路大軍進攻雲貴永曆政權，鄭成功於是再次大舉北征。
清順治十六年（1659年）五月十三，鄭成功再次率領大軍從浙江沿海出發北上。此時，鄭軍共有大小艦船三千餘艘，兵馬十萬余萬，鐵人八千。他首先攻佔定海（今浙江舟山），全殲了清軍定海水師，焚燬船隻一百餘艘，基本消滅了清軍的海上力量，也解除了進軍長江的後顧之憂。   
順治十六年（1659年）六月，爲了牽制清軍對南明永曆政權的三路圍攻，鄭成功與張煌言配合，率領八十三營十七萬水陸大軍，北伐南京。
鄭軍包圍南京
北伐軍水陸並進，不久，攻陷焦山和瓜州，攻佔了長江的重要門戶鎮江及其所屬諸縣。清順治十六年（1659年）六月二十六日，鄭成功部前鋒已至南京郊區，七月十二日，完成了對南京的圍困。在此同時，張煌言率軍沿江而上，佔據太平、寧國、池州、徽州等四府三州二十二縣。清廷知悉，舉朝皆驚。
順治帝驚怒異常，驚慌失措，揚言下令親征。一旦南京再失，東南將不保。接下來，很可能整個長城以南的廣大漢族地區都會反清。想到這裡，順治帝徹底亂了方寸，提出想回關外的東北老家避風頭，遭到他的母親孝莊太后痛罵 14  。清順治十六年（1659年）七月初八，順治帝命內大臣達素為安南將軍，統兵增援江南。在鄭成功兵臨城下的時期內，南京城裡空氣緊張。八旗指揮官喀喀木擔心城中的百姓為鄭成功充當內應，想要大開殺戒，以絕後患。經兩江總督郎廷佐勸阻，才打消了這個念頭，南京也避免了屠城慘劇。當時南京城中家家戶戶緊閉門窗，一片肅殺死寂，連雞鳴狗吠的聲音都聽不到。城中糧價飛漲，百姓們又不敢出門買米，甚至有人因此餓死在家中。
清軍反擊
郎廷佐將南京城外靠近城墻的房屋燒燬，把近城十里之內的居民全部遷入城中。其次，貼出告示，安定民心，派兵嚴密查訪，杜絕內應，並嚴懲乘機盜搶作亂之徒。最後加緊儲備糧草，置辦武器，蒐集整修船隻。此外，增修船槳、繩索等物品，招募舵公、水手，為將來的水陸反攻做準備 
而此時，鄭成功在祭拜明孝陵的時候，也讓將士們飲酒慶慶祝，被為一時的勝利衝昏頭腦鄭成功，被清軍的詭計約降所迷惑，致使戰事拖延了一月之久。而困守南京城裡的清兵總督郎廷佐抓住鄭軍將士慶賀鄭成功生日、「飲酒卸甲」、戰鬥意志鬆懈的有利時機，指揮清軍水陸進襲。
清順治十六年（1659年）七月二十四，清軍南京最高指揮官喀喀木將八旗軍和綠營軍混合編隊，陸上分為三路，水上另有一路，殺出城去，與鄭軍作最後決戰，同時江蘇巡撫蔣國柱遣兵赴援。其具體進攻方向如下：
第一路清軍，從東北、正東、東南、正南、西南、西北六個方向圍攻幕府山鄭軍主力。
第二路清軍，從西面攻擊幕府山。
第三路清軍，從北面進攻幕府山，並伺機焚燬長江上的鄭軍船隻，切斷其退回江邊的通路。
第四路清軍，從水路出發，由提督管效忠率領，攻擊鄭軍江面上的船隻。
清軍以火砲轟擊鄭軍營寨，然後便直接展開衝鋒，騎兵也都下馬步行作戰。不到半天時間，鄭軍多處營寨陣地相繼被清軍攻破，剩下的人馬紛紛向江邊潰散。鄭軍水師指揮黃安所部一面拚死抵抗，一面掩護岸上逃來的敗兵和隨軍家眷們撤退，先後從水中救起數千名跳入江中逃回的鄭軍士兵。激戰中，鄭軍水師共損失了大小船隻五百多艘。但他們最終抵擋住清軍的水上攻勢，掩護殘餘陸軍撤到船上，避免了全軍覆沒的悲劇。
鄭成功匆忙率領部隊退回金門、廈門，張煌言孤立無援，也退走浙東，北伐終告失敗。
結果
南明鄭成功損失
經過七月二十三、二十四兩天激戰，鄭軍的前鋒鎮、左先鋒鎮、援剿右鎮、後勁鎮、前衝鎮、宣毅左鎮、左武衛、左虎衛等陸軍部隊先後被重創或殲滅，其他部隊也有多少不等的傷亡。以每個鎮的人數為兩千五人來計算，鄭軍的損失至少在兩萬人以上。同時，還失去了提督、鎮將等高級將領多人。這場戰役是鄭成功軍事生涯中最慘重的一次損失。
清朝損失
清軍在南京之戰中獲得全勝，但也付出了相當高的代價，水師幾乎損失殆盡，各地調集八旗兵折損過半。清軍將領管效忠、梁化鳳等都感慨，南明鄭軍是自己一生征戰中遇到的最強對手。
後續
鄭成功大軍由於遲緩了進攻時間，在各路清軍的反攻下，鄭成功軍遭受重創，大好形勢隨之逆轉。而在陸地上堅持抗清鬥爭的張煌言也兵敗逃走。北伐失敗后，鄭成功退守廈門。而此時只剩下西南地區的抗清鬥爭也日益變得暗淡了，抗清局面大勢已去，整個抗清形勢轉入了低潮。
由於鄭軍在南京城下戰敗后元氣大傷，鄭成功率領船隊向東退去。以前佔領的瓜洲、儀徵、鎮江等地也先後棄守。
清順治十六年（1659年）七月二十八，清軍在收復鎮江之後就撤回了南京。八月初八，當鄭軍撤到崇明島附近時，鄭成功決定先奪取崇明縣城作為根據地，再派人去廈門等地調取援兵，以圖再攻江寧。但崇明之戰中，鄭軍士氣不高，不善攻城的弱點再次暴露。初九，鄭軍乘坐兩千余艘船隻抵達崇明，分二十路登岸。當時守城的清軍只有綠營軍三千人，他們施放火砲、弓箭，給鄭軍重大殺傷，還主動出擊，繳獲了鄭軍的多門紅衣大砲。鄭成功只好率船隊離開崇明，從海上向南退去。九月初七，返回廈門。清軍欲乘其喘息未定攻取廈門 。
清順治十七年（1660年）5月10日清軍分二路進攻廈門。一路從同安渡海至廈門北部和西部灘頭登陸，被擊退。另一路主力從海澄發水師進攻廈門鄭軍水師。10日早上8時，清軍水師300餘艘船乘潮落順流而下，向廈門港進擊。鄭軍處於逆流迎戰的不利局面。鄭成功利用海潮和風向順風全面出擊，壓制清軍。等漲潮時鄭軍乘潮勢合擊，橫攻焚殺。在福建海門港（今龍海東）殲滅清將達素所率水師四萬餘人，取得「廈門戰役」的勝利，聲威復振。
爭議
歐洲天主教文獻記載，1656年，有大小超過3000艘的鄭成功的舢板從海口溯福安河而上，他們一著陸便立即開始洗劫，並且不分男女老幼肆意殺戮。還強姦婦女，抓捕壯丁，放火燒燬許多村鎮。此次鄭氏軍隊滯留閩東長達十個月之久，直到1657年夏天才撤出。
清朝動態
1661年2月5日，清順治帝崩，皇三子玄燁繼位。
鄭氏降將黃梧向清廷建議「平賊五策」，內容包括長達20年的遷界令，自山東至廣東沿海廿里，斷絕鄭成功的經貿財源；毀沿海船隻，寸板不許下水；同時斬成功之父鄭芝龍于寧古塔（今黑龍江省牡丹江市）流徙處，（一說斬于北京菜市口，即今府學衚衕西口，元代以來的刑場）；挖鄭氏祖墳；移駐投誠官兵至內地，大量分墾荒地。
退守廈門與金門
1661年5月25日，鄭成功因三次北伐中南京之役大敗損失慘重，雖然在1660年廈門戰役取得勝利，但為慘勝自身船隻者損過半，鄭成功只好退守廈門與金門，圖謀再次北上。
撤守臺灣
鄭成功北伐南京失敗后，鄭成功所部元氣大傷。
清王朝已控制了中國的大部分國土。鑑於雙方力量的懸殊和全國客觀形勢的變化，僅憑金、廈兩島將危在旦夕。
鄭成功決定聽從何斌之建議奪取時由荷蘭東印度公司支配的臺灣，並且面臨軍糧不足的問題；爲了解決大軍的後勤給養問題。
在廈門的鄭成功鑑於兵敗南京的教訓，讓他充分意識到自己在陸戰的短處，此後也不再把大陸視作進軍的主要方向，為尋找更鞏固的抗清基地，他將目光投向了與金門、廈門隔海相望的臺灣。而此時的滿清政府又採取移民禁海的策略使得鄭成功的地步十分窘迫。
鄭成功攻佔臺灣后利用海峽天險和海上力量的優勢，建立新的抗清基地。