郑成功北伐，又称郑成功北伐金陵，是指从清顺治十四年（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年厦门战役取得胜利，但为惨胜自身船只者损过半，郑成功只好退守厦门与金门，图谋再次北上。
撤守台湾
郑成功北伐南京失败后，郑成功所部元气大伤。
清王朝已控制了中国的大部分国土。鉴于双方力量的悬殊和全国客观形势的变化，仅凭金、厦两岛将危在旦夕。
郑成功决定听从何斌之建议夺取时由荷兰东印度公司支配的台湾，并且面临军粮不足的问题；为了解决大军的后勤给养问题。
在厦门的郑成功鉴于兵败南京的教训，让他充分意识到自己在陆战的短处，此后也不再把大陆视作进军的主要方向，为寻找更巩固的抗清基地，他将目光投向了与金门、厦门隔海相望的台湾。而此时的满清政府又采取移民禁海的策略使得郑成功的地步十分窘迫。
郑成功攻占台湾后利用海峡天险和海上力量的优势，建立新的抗清基地。