拓跋珪派陈留公拓跋虔率领五万骑兵驻守河东,东平公拓跋仪率领十万骑兵驻守黄河以北,略阳公拓跋遵率领七万骑兵堵住燕军的南面。拓跋遵是拓跋寿乌的儿子。后秦姚兴派杨佛嵩带兵救援魏国。后燕术士靳安对太子慕容宝说:“天时不利,燕军肯定会大败,赶紧撤退可以避免灾祸。”慕容宝不听。靳安退下后,对别人说:“我们这些人都会把尸体丢在荒野,不能回家了!”
燕、魏两军相持了几十天,赵王慕容麟的部将慕舆嵩等人认为慕容垂确实死了,谋划作乱,拥立慕容麟为主。事情泄露,慕舆嵩等人都被处死,慕容宝、慕容麟等人心里互相猜忌。冬天十月,燕军烧掉船只,连夜逃跑。当时黄河还没结冰,慕容宝认为魏军一定不能渡河,就没设置侦察兵。十一月,突然刮起暴风,黄河结了冰。魏王拓跋珪带兵渡过黄河,留下辎重,挑选两万多精锐骑兵紧急追赶。
燕军到了参合陂,刮起大风,黑色的雾气像堤坝一样,从军队后面过来,笼罩在军队上空。僧人支昙猛对慕容宝说:“风气迅猛,是魏军要到的征兆,应该派兵抵御。”慕容宝认为已经离魏军很远了,笑着不回应。支昙猛不停地坚持请求,慕容麟生气地说:“凭殿下的神武,军队的强盛,完全可以在沙漠里横行,索虏(对魏的蔑称)怎么敢远道而来!支昙猛胡说八道惊扰众人,应该斩首示众!”支昙猛哭着说:“苻氏拥有百万大军,在淮南战败,正是因为仗着人多轻视敌人,不信天道的缘故啊!”司徒慕容德劝慕容宝听从支昙猛的话,慕容宝才派慕容麟率领三万骑兵在军队后面防备意外。慕容麟认为支昙猛是瞎说,放纵骑兵打猎,不肯设防。慕容宝派骑兵回去侦察魏军,骑兵才走了十多里,就解下马鞍睡觉了。
魏军日夜兼程,乙酉日傍晚,到了参合陂西边。燕军在陂东边,扎营在蟠羊山南面的水边。魏王拓跋珪连夜部署各将领,偷袭燕军,士兵们嘴里衔着枚、捆住马口悄悄前进。丙戌日日出时,魏军登上山顶,居高临下对着燕军营地。燕军正要向东出发,回头看见魏军,士兵们大惊失色,一片混乱。拓跋珪出兵攻击,燕军逃向水边,人马互相践踏,被踩死、淹死的数以万计。略阳公拓跋遵带兵在前面拦截,燕军四五万人,一下子放下武器束手就擒,逃出去的不过几千人,太子慕容宝等人都独自骑马勉强逃脱。魏军杀了后燕右仆射陈留悼王慕容绍,活捉了鲁阳王慕容倭奴、桂林王慕容道成、济阴公尹国等几千名文武官员,缴获的兵器、铠甲、粮食、财物数以万计。慕容道成是慕容垂弟弟的儿子。
魏王拓跋珪挑选后燕大臣中有才能的,像代郡太守广川人贾闰、贾闰的堂弟骠骑长史昌黎太守贾彝、太史郎辽东人晁崇等留下,其余的想都给他们衣服粮食遣送回去,来招抚中原的人。中部大人王建说:“燕军强盛,现在倾尽全国兵力来犯,我们侥幸大胜,不如把他们全都杀了,这样他们国家就空虚了,攻取就容易了。而且俘获了敌人又放回去,恐怕不行吧!”于是把俘虏全部活埋了。十二月,拓跋珪回到云中郡的盛乐。
后燕太子慕容宝对参合陂的失败感到耻辱,请求再次攻打魏国。司徒慕容德对后燕君主慕容垂说:“敌军因为参合陂的胜利,有轻视太子的心,应该趁陛下的英明谋略去征服他们,不然,会成为后患。”慕容垂于是让清河公慕容会代理留台事务,兼任幽州刺史,代替高阳王慕容隆镇守龙城;让阳城王兰汗做北中郎将,代替长乐公慕容盛镇守蓟城;命令慕容隆、慕容盛率领他们的全部精兵回中山,约定明年大举攻打魏国。
这一年,后秦君主姚兴封他的叔父姚绪为晋王,姚硕德为陇西王,弟弟姚崇为齐公,姚显为常山公。
太元二十一年(丙申年,公元396年)
春天正月,后燕高阳王慕容隆率领龙城的军队进入中山,军容整齐,后燕人的士气渐渐振作起来。
休官部落的权万世率领部众投降西秦。后燕君主慕容垂派征东将军平规从冀州发兵。二月,平规率领博陵、武邑、长乐三郡的士兵在鲁口反叛,他的侄子冀州刺史平喜劝谏,他不听。平规的弟弟海阳令平翰也在辽西起兵响应他。慕容垂派镇东将军馀嵩攻打平规,馀嵩战败被杀。慕容垂亲自率军攻打平规,军队到了鲁口,平规抛弃部众,带着妻子儿女和平喜等几十人渡过黄河逃跑,慕容垂带兵返回。平翰带兵赶往龙城,清河公慕容会派东阳公慕容根等人攻打平翰,打败了他,平翰逃到山南。
太元二十一年(公元396年)
三月,后燕君主慕容垂留下范阳王慕容德镇守中山,悄悄出兵。军队越过青岭,经过天门,凿山开路,出乎魏国意料,直扑云中。魏国陈留公拓跋虔率领三万多家部落镇守平城;慕容垂到了猎岭,派辽西王慕容农、高阳王慕容隆做前锋去偷袭。这时,燕军刚打了败仗,士兵都怕魏军,只有龙城来的士兵勇猛精锐,争相前进。拓跋虔平时没设防,闰三月,燕军到了平城,拓跋虔