到彥之一看這個陣勢,便退守東平,並請朝廷速派援軍。劉義隆趕緊命徵南將軍檀道濟帶兵北上。魏國也再次增兵,派壽光侯叔孫建,汝陰公長孫道生,帶兵南下。魏國的援軍來得快,宋國的援軍來得慢。很快魏軍三支軍隊一齊向到彥之的主力攻來,到彥之再次下命令全軍撤退。將軍垣護之勸到彥之與魏軍一戰,到彥之不聽,王仲德則勸道:&ldo;現在我軍與對方還有一千多里地,滑臺也駐有重兵。這時候南逃,軍心必失,滑臺也難保。我的意思是不如先移軍到山東,與滑臺成掎角之勢,然後再看情況定奪。&rdo;到彥之於是帶兵向濟南前進,剛到了歷城,魏軍已經迅速追擊而來。這時到彥之下定決心逃跑,誰也勸不住他了。到彥之命令全軍放棄舟船,登岸南逃,一路狂奔,逃到彭城。鎮守須昌的竺靈秀看主力已經逃跑了,自己守孤城也很危險,於是也棄城南撤,退到湖陸(今山東魚臺縣東南六十里)。
只有彭城的劉義欣慨然道:&ldo;天子命我鎮守彭城,我當與城共存亡,決不南撤。&rdo;在劉義欣的榜樣下,山東守將都守城不撤,沒有出現像河南那樣的大逃亡。
魏軍進兵到濟南,太守蕭承之只有一千多士兵,實在是沒辦法守城。他乾脆把四門開啟,玩了個空城計。魏軍果然認為城中有伏兵,竟然在城外待了一天後退兵了。同時,魏軍又南攻到湖陸,竺靈秀這回跑得更徹底,連軍隊都不要了,帶了幾個親信南逃。劉義隆被這些逃跑將軍們激怒了。他下令將竺靈秀殺死,將到彥之和王仲德免職關押。任命垣護之為北高平太守,同時命令檀道濟加快行軍。
檀道濟在進兵途中受到魏將叔孫建和長孫道生的阻擊,走得很是艱難。不過,總算是一路敗少勝多,還能夠前進。叔孫建和長孫道生邊打邊退,退到歷城的時候,叔孫建在一次偷襲中把檀道濟的儲糧給燒了。檀道濟只好停軍,加緊運糧。
魏軍利用這一段時間猛攻滑臺,滑臺守將朱修之守了近四個月,因為實在是沒什麼吃的了,就是城裡的老鼠都被吃光了,最後終於城破被俘。
檀道濟由於後勤不濟,將士們都吃不飽飯,沒辦法保持戰鬥力,又聽說滑臺已失,只好退軍。檀道濟在退兵時,把所有的大米都鋪在糧倉的上邊,而下面則堆滿沙子。魏軍見宋軍並不缺糧,不敢過分進逼。檀道濟得以全軍而退。
魏國終於將當初放棄的失地河南全部收回,宋將朱修之因為固守四個月滑臺得到魏國的尊重,被封為侍中,拓跋燾還在皇親國戚中選擇了一個女子嫁給他為妻。司馬楚之一再請求南征宋國,魏主沒有答應,只是任命他為散騎常待。
胡夏的新皇帝赫連定戰敗魏軍,生擒魏帥奚斤,收復關中後,卻沒有趁勢東進攻魏。結果,魏國從從容容地先在北邊打服了柔然,然後在南邊打跑了宋國後,剛騰出手來,便開始對付胡夏了。拓跋燾親率大軍從統萬城出發,進攻平涼。赫連定則從安定出兵,增援平涼,途中夏軍主力遇到魏將古弼所率一部。古弼雖然兵少,但利用伏兵獲勝,赫連定退守鶉觚原(今甘肅靈臺東北)。拓跋燾又派尉眷等數路軍隊與古弼匯合,以主力軍圍攻鶉觚原。由於夏軍在鶉觚原的營中無井,水源又被魏軍斷掉,夏軍無法堅守,只好突圍。經過血戰,赫連定帶一部軍隊逃到上邽,但大部分夏軍,以及赫連定的弟弟烏視拔禿骨等百餘名將相公侯全部被俘。
魏兵乘勝攻安定,夏將東平公乙鬥棄城逃往長安,逃到長安後還覺得不保險,又把長安也棄了,向西逃到上邽。
這時平涼城已經被魏軍包圍將近兩個月,拓跋燾一直不能攻下。赫連昌親自出面勸降也沒有用,直到夏國皇帝赫連定敗逃到上邽,平涼城的守將上谷公杜乾和廣陽公度洛弧才開城投降。魏將豆代田先帶兵入城,接收改編夏軍,並放出被關在監獄中的奚斤等