可能慕容垂臨老變得昏庸,沒能聽得進賢后和大臣之言,仍派慕容寶率兵滅魏,也想讓這位太子兵勝立威,日後更順理成章地承繼帝位。其間,燕國大臣高湖也諫勸:“魏國與燕國世為婚姻通好。為了索要馬匹我們不讓拓跋珪的弟弟回國,本來就理虧在我。加之拓跋珪沉勇有謀,從小就歷經艱難,志氣果銳,現在他手下兵精馬壯,不是容易戰勝的對手。我們的太子年紀太輕,現在讓他專任一方統帥,他肯定會輕視小看魏軍,萬一得不了勝,可能會嚴重損毀太子的威望!”
北魏大將張兗聽說燕軍來攻,就上言魏王拓跋珪:“燕軍新近破翟釗於滑臺,滅慕容永於長子,現傾國而來,肯定有輕我之心。我們應該假裝害怕,退兵迴避,讓對方產生驕傲輕敵之心,才有機會戰勝燕國。”拓跋珪依計,把部落國人全部向西遷移,渡黃河千餘里,以避燕軍兵鋒。燕軍一路皆捷,在五原收降魏國別部三萬餘家,停車造船,準備渡河一舉攻滅魏國。
八月,拓跋珪治兵於黃河南岸。九月,進軍於岸邊。燕國太子慕容寶整軍準備渡河決戰,忽然暴風大起,數十艘軍船漂往南岸。魏國俘獲燕軍甲士三百多,全部釋放,讓他們歸回燕軍陣壘。慕容寶出發時,慕容垂已經得了重病。到五原後,拓跋珪派人在路上截守,把燕國所有往來的使者盡皆抓獲,又押著這些人隔河對慕容寶大喊:“你爸爸已經死了,還不早點回去爭位!”慕容寶等人非常憂恐,兵士也心中駭動。魏、燕兩軍相持幾十天,趙王慕容麟手下將領慕容嵩認定老皇帝已死,暗中作亂,想殺了慕容寶奉戴慕容麟為皇帝,自己搶個新皇功臣噹噹。事情敗露,慕容嵩等被殺,慕容寶、慕容麟兄弟兩人暗中也互相猜疑。十月,燕軍燒船夜遁。當時黃河尚未結冰,慕容寶認為魏軍沒有船不能追擊,就不設斷後的軍隊,慢慢後撤。十一月,寒流忽至,一夜暴風,黃河結冰。拓跋珪親自引兵從冰上過河,不帶輜重,只選精兵二萬騎急追燕軍。
燕軍行至一個叫參合陂的地方,忽遇大風,黑氣如堤,自後而前,飄忽于軍營之上。隨軍一個叫支曇猛的和尚勸慕容寶:“風氣暴迅,可能魏軍要追上我軍,應該派兵防禦。”慕容寶認為已經離魏軍很遠,笑笑沒有答應。支曇猛堅持要派兵御衛。慕容麟一旁大怒:“以殿下神勇,兵士強盛,足以橫行沙漠,魏軍怎麼敢追擊我們!再妄言惑眾,定斬不饒!”和尚激動得直哭,諫道:“苻堅以百萬之眾,敗於淮南,還不是因為恃眾輕敵啊。”司徒慕容德勸慕容寶派兵護衛,不得已,慕容寶派三萬軍士殿後。派出的巡邏兵也大不以為然,騎行十多里地,就各自跳下馬鞍躺在草地上睡起大覺來。
魏軍晝夜兼行,四天後於夜幕中到達參合陂西面。當時燕軍在參合陂東面的蟠羊山水邊紮營。拓跋珪連夜分派諸將,馬束口、兵銜枚偷偷逼臨燕軍。日出時,燕軍起營將要東還,回頭猛一望瞧見山上鬼神一般靜靜站立的魏軍,頓時大驚擾亂。拓跋珪縱兵擊之,自上而下衝殺,燕兵赴水淹死、被人馬踐踏而死就有萬餘人。北魏略陽公拓跋遵率軍上前,堵住剛剛遊過河的燕軍,四五萬燕軍一時懵住,都放下兵仗束手就擒,迸散逃走的不過幾千人。太子慕容寶、趙王慕容麟等人因所騎的馬好僅以身免,單騎逃出,燕國陳留王慕容紹等數千將吏不是被殺就是被俘。魏王拓跋珪挑選了有才的燕臣後,想對被俘的四五萬魏軍派發衣糧遣還。中部大人王建勸道:“燕國強大,現傾國而來攻打我們,我們僥倖大勝,不如都把這些人活埋掉,燕國就空虛易取了。” 拓跋珪聽此言有理,就把近五萬魏兵全部活埋。這個數字為中國歷史上活埋敵軍的第四名。第一是秦將白起在長平“坑趙卒四十萬”,第二是楚霸王項羽坑投降秦軍二十萬。第三是唐朝名將薛仁貴活埋鐵勒軍十三萬。唐太宗時,鐵勒九姓在天山反叛,薛仁貴領軍來戰,對方派數十個勇士挑戰,薛仁貴臨陣拔箭射殺三人,嚇得十幾萬敵軍齊齊下馬投降,旋即被坑殺。當時軍中傳唱:“將軍三箭定天山,壯士長歌入漢關”。說來也怪,古人一直認為“殺降不祥”,白起最後被秦王迫逼自刎,項羽自殺於垓下,道武帝拓跋珪被兒子殺死,惟獨薛仁貴於七十之年善終。
逃竄回國的太子慕容寶深以參合陂兵敗為恥,勸慕容垂讓他再次統兵擊魏。慕容德也勸慕容垂:“魏國擊敗太子,陛下您應該親自掛帥伐魏,以免後患。”慕容垂於是召集各處精兵,準備轉年大舉擊魏。三月,慕容垂以古稀之年,皇帝之尊,不得不親自帥兵攻打魏國。薑是老的辣,慕容垂引兵密發,越過青嶺,經天門,鑿山通道,出其不意,直奔雲中。駐守龍城的魏國拓跋虔認為燕軍