刘显辖地广阔,兵力强盛,逐渐在北方称雄称霸。魏国长史张衮向魏王拓跋珪说:"刘显的志向在于吞并魏国,现在不趁他内部溃败而歼灭他,必然会成为今后的祸患;不过我们不能单独地去战胜他,请求和燕国共同讨伐。"
拓跋珪暗中本来有攻打燕国的想法,就派遣九原公拓跋仪假做使臣,前往中山去窥探,燕主慕容垂责备拓跋仪说:"魏王拓跋珪为何不亲自前来?"
拓跋仪说:"先王同燕国一起侍奉晋王室,世代如同兄弟;我现在奉命出使,在道理上并没有不妥之处啊!"
慕容垂说:"我现在的声威遍及四海,怎么还能同过去相比呢?"
拓跋仪说:"燕国如果不讲求德行礼仪,想用兵力来威胁显示自己的强盛,那是将帅们的事情,不是我做使臣所能知道的。"
拓跋仪返回后,向拓跋珪进言说:"燕主年老体衰,太子庸碌薄弱,范阳王对自己的才干很自负,不是能甘愿做少年君主的臣子的。燕主死后,内乱必然爆发,到那时我们就可以攻占他们,现在却不可以。"
拓跋珪认为他的意见有道理,就派遣他的弟弟拓跋觚到燕国进献贡品。当时燕主慕容垂衰老,是弟弟在当权;他们想留下拓跋觚来索取精良的马匹。魏王拓跋珪没有同意,就和燕国中断了关系,另叫长史张衮去向西燕请求和好。燕主慕容垂心里不服,于是商量决定攻打西燕,各将领都劝说:"西燕慕容永没有内乱,我们连年征战,兵士疲惫不堪,不能攻击。"
燕国范阳王慕容德说:"慕容永是燕国的疏远亲戚,又超越本份登位称帝,迷惑民众的视听,应该首先除去他来统一人心。兵士虽然疲惫,我们又怎么能如此罢手呢?"
慕容垂说:"司徒的意见正和我相合,我虽然老了,但将我蘘里的智慧倒出来,足以征服慕容永。终究不能留下这个逆贼,连累了我们的子孙。"
慕容垂于是征调中山的步骑兵士共计七万人,派遣镇西将军丹杨王慕容儹,右骧将军张崇从井陉出兵,到晋阳去攻击西燕武乡公慕容犮,又派遣征东将军平规到沙亭去攻打西燕镇东将军段平。西燕主慕容永接到军情,连忙派出尚书令刁云,车骑将军慕容钟率领五万军队守卫潞州。
慕容垂到了邺城,先留下清河公慕容会驻守邺城,然后调发同州、冀州、青州、衮州的军队,派太原王慕容楷从隘口出兵,辽西王慕容农从壶关出兵,慕容垂自己从沙亭出兵,分别去攻击西燕,并标明所前往的地方,各自安营扎寨。西燕主听说后,派出军队分成几路严密把守,并把粮食都聚集在台壁;又派遣侄儿征东将军小慕容逸豆归,镇东将军王次多,右将军勒马驹率领军队一万多人,都驻扎在那里守护。
燕主慕容垂驻守在邺城西南,一个多月不见进军。西燕主慕容永感到奇怪,认为太行山的道路比较宽,怀疑慕容垂是想从隐秘的地方来夺取他,便只留下驻扎在台壁的一支军队自守,然后集中其他所有部队都驻扎在轵关,堵住太行山的路口。他万万没有想到,慕容垂竟率领大军从滏口出兵,进入天井关后到达了台壁。
慕容永急忙派遣堂兄太尉大慕容逸豆归救助台壁,途中却被燕国的征东将军击败。小慕容逸豆归出营交战,又被燕国辽西王慕容农打败了,并杀死了右将军勒马驹,抓获了镇东将军王次多,从而包围了台壁。慕容永连忙征召太行山的军队急速返回,并亲自率领五万精锐的兵士,前来抵抗燕国军队。西燕尚书令刁云,车骑将军慕容钟心惊害怕,都率领部众归降了燕国。慕容永一怒之下诛杀了刁云、及慕容钟的妻子儿女。
之后,燕主慕容垂在台壁南面摆下阵势,派遣骁骑将军慕容图在山涧下面埋伏一千骑兵,他自己亲自去和慕容永作战。慕容垂假装败退,慕容永的军队随后追击,追了有好几里路,慕容垂的骑兵突然从山涧中冲了出来,阻断了他们的退路,然后各路军队从四面八方一起进攻,大败了西燕,斩下首级八千多颗,慕容永逃回长安。守卫在晋阳的将领们听说慕容永战败,都抛下城池逃走了,于是燕国丹杨王慕容儹等进军占领了晋阳,燕主慕容垂则进军包围了长安。
慕容永打算投奔后秦,侍中兰英说:"从前石虎征战龙都,太祖坚守住城池不肯离去,终于奠定了大燕的基业。现在慕容垂已是七十岁的老头子了,已疲于战争;终究不能长年累月地驻守在这里攻打我们,我们只应当固守城池来拖垮他们。"
慕容永听从了他的意见,可是目前的处境依然还是危困,于是他派出自己的儿子常山公慕容弘等人,去向晋国的雍城刺史郗恢求救,并且献上一颗玉玺。郗恢向晋主上奏说:"慕容垂如果吞并了慕容永,那么给我国造成的祸害会更加深重,还不如让他们共存,然后再利用有效时机除掉他们双方。"
晋主认为他说的有道理,于是诏令青、衮二州的刺史王慕,豫州的刺史廋楷救援西燕。援军还未到,慕容永担心晋国军队不会出动,又派遣他的儿子慕容亮到魏国去做人质,燕国将领平规追赶慕容亮,在复都追上了慕容亮后抓获了他。慕容永于是向魏国告急,魏王拓跋珪派出拓跋纥的儿子陈留公拓跋虔,将军廋岳率领五万骑兵向东渡过黄河,驻守在秀容,以便救援慕容永。
晋军和魏国的援军都还没有到达,大慕容逸豆归的部将伐勒等人却打开了晋阳城门,放进了燕国的军队,燕军于是杀了慕容永及其公卿,和大将大慕容逸豆归等三十余人,获得慕容永所统辖的八郡七万多户。然后燕主慕容垂派遣丹杨王慕容儹任并州刺史驻守晋阳,官都王慕容风任雍州刺史驻守长安。
慕容垂向东巡视阳平、平原,令辽西王慕容农渡过黄河,去和安南将军尹国攻取青州的糜丘、衮州的阳城。晋阳东平太守韦简战死,高平、泰山、琅琊各郡都放弃城池逃跑了。于是慕容农进军直到了海边,把各处都设立了燕国的郡守县令。魏王拓跋珪背叛燕国,心里却痛恨那些反叛他的人,于是开始进犯威逼那些归从燕国的各个部落。燕主慕容垂派遣太子慕容宝、辽西王慕容农、赵王慕容麟率领八万军队,从五原出发去讨伐魏国。范阳王慕容德、陈留王慕容绍另率步骑兵一万八千人做后续部队。
散骑常侍高潮劝导说:"魏国和燕国世代联姻,他们有内乱,燕国总是前往救援。施与的恩德够深厚的了,缔结友好的关系够长久的了。最近因索取马匹没有得到,而扣留魏王的弟弟,理亏的一方在我们,为何要匆忙地攻打他们呢?拓跋珪沉着勇敢,很有谋略;年幼时经历过很多艰难困苦,如今兵强马壮不可以忽视。皇太子年纪还轻,心意刚烈,气势锐利;现在把独当一面的重任交付给他,他必然会小看了魏国而轻敌。万一不是我们所想象的那样,就会损伤了陛下的威望,败坏了陛下的大事,希望陛下能深入地考虑好这件事情!"
高潮的言辞非常激烈直率,慕容垂怒不可遏,一气之下罢免了他的官职。魏国长史张衮听说燕国军队就要到来,他对魏王拓跋珪说:"燕国人正陶醉在台壁、长安大胜的欢庆中,慕容垂动用全国所有的物资人力前来进攻,是有轻视我们的心理,我们应该显出胆小的样子来使他们骄傲,我们才可以获胜。"
拓跋珪听从了他的建议,于是迁徙所有的部众和牲畜,向西渡过黄河,逃出一千多里外来躲避燕国军队。燕国军队到达五原,征服了魏国的旁支部落三万多家,收割鍨子一百多万斛,构筑黑城进军到黄河边,建造船只做渡河的工具。而此时魏王拓跋珪已经在黄河以南整顿好了军队,都开进到黄河边上等候着。燕国太子慕容宝部署好了军队正准备渡河,暴风突然刮起,有几十艘船只漂走停靠在南岸。这样魏国军队就抓获了燕国的披甲兵士三百多人,又都释放遣送回去,所以燕国的军队都只能呆在原地徘徊。
慕容宝从中山出发时,燕主慕容垂已经生病,慕容宝到达五原后,拓跋珪就派人在五原到中山的路途中拦阻,一旦遇到了燕国的使者就全都抓了起来。慕容宝等在前方几个月也没有听到慕容垂的起居消息,拓跋珪却差派被抓获来的使者,到黄河边去告诉慕容宝说:"您的父亲已经去世了,为何还不早日返程回去呢?"
慕容宝等忧虑恐慌,兵士于是震惊骚动。当时拓跋珪已经安排陈留公拓跋虔,率领五万骑兵驻守在黄河东岸,东平公拓跋仪率领十万骑兵驻守在黄河北岸,略阳公拓跋遵率领七万骑兵,堵在燕国军队南边回归的退路上,后秦主姚兴也派遣杨伟率领军队来救援魏国。燕国的方术之士靳安向太子慕容宝进言说:"天时不利,燕国必然大败,须尽快离开,则可以避免。"
慕容宝不听,靳安就出来告诉其他人说:"我们这些人的尸体都将被抛弃在野外不能回去了!"
就这样,燕国和魏国互相对峙了十几天,中山那边再一点消息也没有了。赵王慕容麟的部将慕舆嵩等以为慕容垂真的死了,于是阴谋作乱,拥立慕容麟为君主。后来事情败露,慕舆嵩等都被处死。慕容宝和慕容麟心中也是相互猜疑,于是烧毁船只趁黑夜逃走了。
当时黄河的水还没有结冰,慕容宝认为魏国的军队一定不可能过河。忽然狂风大作,黄河的冰冻都连接在一起,拓跋珪趁机率领军队渡过黄河,挑选了二万多精锐的骑兵,迅速追赶燕国的军队。燕国军队刚刚到达参合陂,大风突起,一股黑气如同堤岸,从军队的后面袭涌而来,笼罩了整个军队。燕国僧人支昙猛向慕容宝进言说:"大风和黑气迅猛异常,这是魏国军队将要到来的征兆,我们应该尽快派出后续的部队防御他们。"
慕容宝认为他的军队已经离开魏国的边境非常远了,便只是笑了一笑没有回答。支昙猛不断地请求,慕容宝生气地说:"就凭殿下的神明威武,军队的强盛,足以在沙漠上纵横驰骋,索虏怎敢远路追来呢?支昙猛再用荒诞的言论恐吓众人,就应该砍头示众了。"
支昙猛哀求说:"苻氏拥有一百万军队,却在淮水以南失败,正是因为仗势人多,而忽视了敌人,不相信天理的缘故啊!"
司徒慕容德劝告慕容宝说:"你应该听从支昙猛的意见。"
慕容宝这才派遣慕容麟率领三万骑兵留在军队的后面,用来预防突然事变的发生。慕容麟也认为支昙猛的话荒诞无稽,便放纵骑兵只管去游玩狩猎,没有设立哨岗防备。慕容宝又另外加派了散骑兵回头巡探魏国军队的动静,骑行了十多里路也没有发现什么,就都解下马鞍睡觉了。
魏国的军队早晚赶路,到了黄昏时,已经到达参合陂后面。魏国军队在参合陂的东面,军营都安扎在蟠羊山南麓的河畔。夜深人静时,魏王拓跋珪部署各将领偷袭燕国军队。魏国的军队口中含枝,扎紧马口秘密前行,到了太阳升起时,魏国军队已经登上了山头,山下面对着的全是燕国的军营。正当燕国的军队准备向东撤走时,突然看见了山上魏国的军队,兵士们顿时大惊失色,混乱不堪。拓跋珪指挥军队猛攻燕军,燕国兵士跳入水中,人挤马撞,一时被压死和淹死的人以万计算。
与此同时在燕国军队退出的山道上,略阳公拓跋遵率领兵士在前面拦截,燕国兵士四五万人立刻放下兵器束手就擒。能够逃出去的不过几千人而已,太子慕容宝幸免逃脱。于是杀死燕国右仆射陈留王慕容绍,活捉了鲁阳王慕容倭奴,桂林王慕容道成,济阳公尹国等文官武将几千人,兵器、铠甲、粮食、财货以亿计数。