瓜步之戰是中國南北朝時代發生在北魏與劉宋之間的一場反覆攻防戰爭。此役雙方均主動向對方境內發動攻擊，最後以北魏撤軍告終。此後南朝各國的勢力開始從淮北向南後撤，直退到長江，也基本奠定了此後南北朝北強南弱的局勢。 
背景
劉宋曾於430年，趁北魏與柔然交戰之時向北魏索要河南和山東領土，為魏太武帝拓跋燾拒絕。宋文帝劉義隆乃派到彥之等出兵河南，為魏軍所敗。后因軍糧不濟，宋將檀道濟用了唱籌量沙之計，才安然退兵。436年，檀道濟因功高受忌，為宋文帝誅殺，道濟被捕前狠甩頭巾，罵劉義隆自毀長城。訊息傳到北魏，魏軍將領彈冠相慶，認為檀道濟一死，南朝就再沒有可畏懼的人了。
北魏在太武帝領軍下先後擊破柔然、夏、北燕等敵國，最終於439年滅了北涼，統一了華北，開始與劉宋南北對峙。
戰爭階段
北魏南下
450年春二月，太武帝聲稱要在雲夢澤打獵，劉宋在邊境拒守。太武帝於是率十萬步騎南下，進攻劉宋。劉宋初採用儲存實力的戰術，宋文帝令淮、泗一帶前線部隊，若北魏兵少則堅守，兵多則帶百姓撤退到壽陽。
北魏連下南頓（今河南項城西）、潁川（今河南禹縣）二郡，進圍懸瓠（今河南汝南縣）。懸瓠太守陳憲不及撤退，手下宋軍不足千人，但拚死抵抗。魏軍圍城修築高樓，對城內射箭，城內兵士一人備一塊板子，行路取水時就背在身上；太武帝又下令用衝車，幾乎攻破南城。陳憲又在裡面修一道內墻，外面豎木柵欄阻擋。魏軍仗著人多攻城，宋軍拚死抵抗，攻城的魏兵屍首越堆越高，最後後來的魏兵直接踩著尸山就能到城頭與宋兵短兵相接。北魏戰略目標不明確，導致大軍被拖在懸瓠，傷亡慘重。
此時宋將劉康祖、臧質、武陵王劉駿等率援軍從壽陽、彭城到來。劉駿與魏永昌王拓跋仁接戰取勝，北魏被迫燒營撤軍。而後劉駿派參軍劉泰之、臧肇之、垣謙之，殿中將軍程天祚等率一千騎兵襲汝陽，被拓跋仁擊破，斬殺劉泰之、臧肇之，俘虜程天祚。太武帝聞訊后，在壽陽停駐。另一方面，劉康祖和臧質擊斬魏尚書任城公乞地真，魏軍撤回平城。
太武帝雖然撤軍，但虜獲不少。於是他給宋文帝寫了一封信，指責劉宋的間諜戰、虐待俘虜及勾結北魏民變首領蓋吳，並要求劉宋割讓長江以北土地，否則將直搗揚州。信中充滿侮辱取笑之意。
元嘉北伐
宋文帝也一直有北伐建功之意，喜歡聽徐湛之、江湛和王玄謨等人的北伐主張，並曾發出「觀玄謨所陳，令人有封狼居胥意」的感慨。同年7月，宋文帝不顧太子劉劭等群臣反對，決定北伐，奪回河南的土地。宋文帝號稱百萬，分兵五路：
* 第一路為主力水軍，由青、冀二州刺史蕭斌統領，王玄謨為正，沈慶之、申坦為副先鋒，率船一萬沿黃河西進；
* 第二路為太子左衛率臧質的東宮禁兵，加上驍騎將軍王方回、建武將軍劉康祖和右軍參軍事梁坦的十萬步、騎兵，直取許昌和洛陽；
* 第三路是由徐、兗二州刺史、武陵王劉駿統領的徐、兗等州士兵；
* 第四路由豫州刺史、南平王劉鑠統領荊、豫等州士兵，從東西兩翼並進；
* 第五路由雍州刺史、隨王劉誕統領，率中兵參軍柳元景、振威將軍尹顯祖、奮武將軍魯方平、建武將軍薛安都、略陽太守龐法起等進攻弘農和潼關。
此外江夏王劉義恭坐鎮彭城，節度諸軍。
北魏收到劉宋要攻來的訊息后，太武帝又送了一封信給宋文帝，並送十二匹馬和一些藥材，諷刺宋文帝馬力不佳，來到北方也會水土不服。而劉宋雖然決定出兵，但準備不足。軍費不足，朝廷下詔向貴人募捐，最後甚至令後方的寺院借出四分之一的財物，戰爭結束后歸還；兵力也嚴重不足，於是下令要發動青、冀、徐、豫、兗、南兗六州民丁，每戶三丁抽一，五丁抽二，軍令到十日之內全部裝束好聚集到廣陵或盱眙待命，另外又募集武藝精湛者，加以賞賜。
宋軍東西兩方面出動，東路軍初戰順利，拿下了碻磝、樂安、濟州等。此時太武帝認為時機未到，不急於反攻。而王玄謨率主力攻滑臺，圍攻二百餘日不下，王玄謨又貪財多殺，失去民心。冬天太武帝命太子拓跋晃屯漠南以備柔然南下，吳王拓跋余守平城，魏軍開始反攻，加上尚書長孫真率五千騎兵截擊，王玄謨大敗逃回。蕭斌欲殺之，得沈慶之求情而免死。見形勢不妙，蕭斌率眾撤退回歷城，留王玄謨將功折罪守碻磝。太武帝奪回濟州。
劉誕率領的宋西路軍本來進展順利，閏十月先後打下了弘農、盧氏、潼關、函谷關等，擒弘農太守李初古拔父子。加上后軍外兵參軍龐季明本來就是關中人，頗得當地羌人和舊秦人民心，一時關中豪傑紛紛響應。但因為王玄謨東路不利，宋文帝召柳元景等還軍到襄陽。
北魏反擊
太武帝分多路兵反擊：
* 征西大將軍永昌王拓跋仁從洛陽出發，進攻壽春；
* 尚書長孫真進攻馬頭（今安徽懷遠南）；
* 楚王拓跋建進攻鐘離（今安徽鳳陽東北）；
* 高涼王拓跋那從青州出發，進攻下邳
太武帝自己統率中路軍從盱眙渡淮河，十一月至鄒山（今山東鄒縣東南），守將崔邪利投降。太武帝在當地推倒了秦始皇時的石刻並拜祭了孔子。拓跋仁打下了上次沒能拿下的懸瓠以及項城，俘虜守將趙準並斬殺來救援的宋將劉康祖，駐屯在春秋時楚國國相孫叔敖墓前威脅壽陽，燒掠了馬頭、鐘離。拓跋建至留城（今山東微山）。蕭城（今山東冠縣西北）的宋軍撤退，魏軍佔領了城池，並擊破了宋將馬文恭的援軍。夜裡附近的沛縣民眾擊鼓吶喊，魏軍誤以為宋軍襲來，驚恐爭渡苞水，淹死不少人。
進而魏軍圍攻彭城，太武帝親自登上高臺觀察形勢。在城的劉義恭等糧少欲撤退，經沈慶之等人說明利害才決意死守。魏軍攻城不下，於十二月繞過繼續南下。此時太武帝曾派人向劉駿索要甘蔗，劉駿應允，反過來向北魏要求好馬和駱駝。太武帝派尚書李孝伯送去，順帶勸降而不成功。魏軍進一步擊破了支援彭城的臧質部署，斬其部將胡崇之等，迫使其退入盱眙。魏軍所行披靡，太武帝進軍瓜歩，拆燒了周圍的民舍，在此擺出造船的樣子，聲稱要渡長江。宋都城建康宣佈戒嚴，宋朝的貴族子弟都要從軍，太子劉劭親自鎮守石頭城統領水軍。宋文帝登上石頭城，反省當初輕舉妄動，後悔當初如果若是沒殺檀道濟，就不會讓魏軍打來。宋軍設法給魏軍下毒，都沒成功。
太武帝在瓜歩山上駐紮，每天用駱駝運河北水飲用。他自知後方不穩，只是虛張聲勢，給宋文帝送去了駱駝名馬，劉宋回送珍饈美酒，太武帝不疑其中有毒即食，並要求和親。宋文帝召開了御前會議討論，江湛表示反對，被太子劉劭連著之前主張北伐的責任斥責。宋文帝表示責任在自己，並決定拒絕和親。451年正月，太武帝在瓜歩山上大會群臣，燒周圍民房撤軍。
圍攻盱眙
臧質當初被魏軍擊敗之後，率700多殘兵撤入盱眙。駐守在此的沈璞之前集結了2000餘士兵，與臧質合兵後加緊修築城池防禦。而魏軍開始聽說盱眙有些糧草，便沒去攻打，準備返回時拿下充實己軍，只是留下韓元興等千餘人圍城。等到太武帝回軍行至盱眙，太武帝向臧質討酒喝，臧質卻封了一罈尿給他。太武帝大怒，下令攻城。
魏軍在城外筑上一圈圍墻，然後填平了盱眙的護城河，並斷絕了盱眙的所有對外通道。太武帝給臧質寫信，並附送一把寶劍，說自己的軍隊都不是鮮卑人，譏諷臧質如能殺了他們，反而對鮮卑人有益。臧質回信，表示誓殺太武帝，還把太武帝的信拿給魏軍士卒看，並懸賞太武帝人頭。太武帝下令用鉤車攻城樓，被城內守兵用繩索套住回不去；魏軍改用衝車撞城，城墻又堅固難攻；魏兵攀上城樓，與宋軍肉搏，死屍成山， 然沒有進展。太武帝擔心宋軍將從海路入淮，抄魏軍的後路，魏軍中又出現疫病，死者過半，攻城三十天後決定撤軍。經過彭城，劉義恭忌憚魏軍，也不敢貿然行動。等到劉義恭決意阻擊時，被魏軍先知，殺盡了俘虜而逃。
後續
次年即452年，太武帝為內侍宗愛弒殺。死訊傳到劉宋，宋文帝又動了北伐之念，加上不久前有魯爽兄弟從魏來降，於是宋文帝派蕭思話、魯爽、張永、王玄謨、臧質等北伐，攻打河南等地不克。第二年，宋文帝也被太子劉劭先下手為強而殺。同時劉劭也殺了和自己有矛盾，當初贊成北伐的徐湛之和江湛。兩國政局均陷入不穩，於是邊境一時進入了比較和平的狀態。
對戰爭的分析及影響
宋文帝準備不足，而貿然發動北伐的行動歷來為後世詬病。而宋文帝喜歡在出征前給將領傳達自己的部署，開戰時也要將領等自己決定的做法，導致宋軍將帥不敢自己拿主意，進退失據。瓜歩之役后，宋文帝再次北伐，仍連吃敗仗，此後向北魏和親、互市，總算是保持了一段南北對峙。
北魏所到之處，都大肆燒殺劫掠，殺獲不下數十萬，殺人殘忍，把嬰孩挑在槊尖上戲耍；蕩平村落，連村落裡邊的雞犬的聲音都消失，春天北返的燕子也只能把巢筑在樹上。劉宋自此失去了元嘉之治積累的成果，走向衰落。
而北魏雖在軍事上取得了優勢，但士卒也死傷過半，導致國人埋怨。另外太武帝南征以前，多有民謠指佛貍（太武帝字）南征回國就死，而太武帝也確實在回國后次年，就被宗愛弒殺。
相關作品
1205年，南宋權臣韓侂冑準備發動開禧北伐，時任鎮江知府著名詞人辛棄疾獲起用。辛棄疾雖然支援北伐，但擔心韓侂冑準備不足，重蹈宋文帝的覆轍，在登鎮江北固亭時作了一首《永遇樂·京口北固亭懷古》，列舉孫權、劉裕等江南英雄和瓜歩之戰，抒發自己北伐的決心同時提醒韓侂冑。最後開禧北伐仍以失敗告終，不久辛棄疾鬱鬱而終。