对于慕容垂而言,自从消灭了翟钊以后,后燕便控制了黄河以南地区,极大地加深了南线的防御纵深,再加上东晋并无大举北伐的意图,因此夺取太行屋脊,扭转自己战略上的不利态势,就成了慕容垂的当务之急。况且消灭翟钊以后,后燕再无南线牵制,消灭西燕自然就被提上了后燕君臣的议事日程。
不过,当慕容垂提出进攻西燕的计划以后,后燕群臣、诸将依然提出了反对意见。理由是∶慕容永立国以来,从未对我国进行挑衅,而我军却是连年征战,士兵疲惫,怨声载道,此时不宜再动干戈,只有范阳王慕容德认为机不可失。
太元十八年(公元393年)十月,也就是在慕容垂消灭翟钊一年之后,后燕发起了了讨伐西燕的总动员。
慕容永的统治中心地区在今天的山西省上党地区,当时,西燕慕容永有十万军队,而慕容垂只率七万步骑,从人数上慕容垂并不占优势。而且,慕容垂的部队连年征战,比较疲惫,如果慕容永措置得力的话,不是没有胜算。然而,从慕容永立国以来的三次征战来看,慕容永本人的军事能力并不高明,西燕军队的战斗力也并不十分强,尤其是西燕的十万军队既要防守西面的蒲坂,又要防守各处的交通孔道,平均使用兵力,自然是不行的。
在这种情况下,两军主帅的智慧对于整场战役的走向,就起到了决定性的作用,如何误导对手、达到避实击虚、调动敌人的目的,就成了战役的关键。
太元十八年十一月,慕容垂亲率步骑七万从中山南下邺城,与此同时,他还派遣丹阳王慕容瓒、龙骧将军张崇从井陉关出发,进攻驻守晋阳的慕容永弟弟、武乡公慕容友,派遣征东将军平规进攻西燕镇东将军段平驻守的沙亭,打响了全面进攻西燕的序幕战。十二月,慕容垂抵达了邺城,而西燕主慕容永则命令尚书令刁云、车骑将军慕容钟率领五万大军,驻守在潞川,将主力部队放到了防备滏口陉上。
慕容垂也深感自己的兵力不足,于是只留下清河公慕容会镇守邺城,又征发司州、冀州、青州、兖州四州之兵,并派遣太原王慕容楷率军从滏口西进,辽西王慕容农从壶关西进,慕容垂则亲率大军从沙亭出发。至此,慕容垂显示给对手的共有四个进攻方向。从北至南依次是∶由慕容瓒率领的从井陉关出发、进攻晋阳的北路军;太原王慕容楷率领的从滏口西进之军,对面是刁云、慕容钟的五万大军;屯兵于沙亭附近的慕容垂主力中军;穿越壶关、进逼长子的慕容农所部。面对慕容垂的来势汹汹,慕容永将粮草辎重屯聚在台壁,命令征东将军慕容小逸豆归、镇东将军王次多、右将军勒马驹率领一万多军队防守。
让慕容永疑惑不解的却是,慕容垂屯军邺城西南将近一个多月,却迟迟不进。时间一天天过去,慕容垂仍旧驻屯在邺城。之所以这样做,一方面是为了兼顾南北两翼,防止慕容永主动出击,做困兽之斗;另一方面是在养精蓄锐的同时观察慕容永的一举一动,从而做出最佳应对策略。对于慕容永而言,他最好的应对方法是一方面以小部兵力,多张旗帜,迷惑敌人,扼守关隘;另一方面集中优势兵力,全力进攻敌人最强势的一部。再视战役的发展情况,决定是否继续扩大战果,各个击破敌人的进攻。
慕容永看到慕容垂一个多月没有动静,判断狡猾的慕容垂也许示形于邺城,其实打算南下,迂回到河内郡,从那里穿越太行陉,进攻天井关又或者从更西面的轵关,进入河东地区。于是,他下令将主力军团重新集结起来,只留下一支军队驻守在台壁,保护粮草辎重,其他主力部队则先南下天井关,又从东线调兵,充当工程兵,将道路较宽的太行陉用石头完全封堵起来,再将大军屯驻在轵关之上,准备以逸待劳,一举歼灭来犯之敌。
慕容永的这一重大决策,完全来自于自己的凭空想象,判断慕容垂有可能从太行道进攻的依据∶一是慕容垂迟迟不进,一定有诈,应当不会选择从较近的滏口进攻;二是太行道相对比较宽,便于军队行军。在彻底堵塞了太行道以后,慕容永进一步判断,慕容垂会继续西进,绕道轵关进攻。西燕军队从东线调来,将太行道堵塞以后,又风尘仆仆继续西进,集结在轵关。
可惜事情完全没有按照慕容永的想象发展。太元十九年(公元394年)四月二十日,慕容垂亲自率领大军对已经空虚的滏口发起了猛烈的进攻,并顺利将其拿下,攻下滏口之后,又乘胜从背面进入了天井关(山西省晋城市西南四十五华里的太行山上),至此,后燕大军顺利进入上党盆地。
五月一日,慕容垂大军推进到台壁。慕容永担心台壁有失,赶忙派遣堂兄、太尉慕容大逸豆归率军前去增援,结果却被后燕平东将军平规率军击破。慕容小逸豆归率领众将出战。后燕辽西王慕容农前往迎战,又将其击败,并阵斩西燕右将军勒马驹,活捉镇东将军王次多。后燕军遂包围了台壁。慕容永急忙征调远在南面太行山麓轵关一带的驻军东返,自己则亲自率领五万大军抵御,依托河曲自守,并派出使者约期与慕容垂决战。而就在此时,西燕潞川驻军主将、尚书令刁云与慕容钟惊慌失措,率众投降。慕容永大怒,诛杀了二人的妻子儿女。
五月十六日,双方决战的日子终于到来了。
慕容垂做好了大战前的准备工作。他在台壁以南列下阵势,以辽西王慕容农和太原王慕容楷为左右两翼。战前一天,他还秘密派遣骁骑将军慕容国率领一千骑兵,提前埋伏在山涧之中,作为奇兵。两军在河曲展开了一场生死对决。慕容垂假装败退,慕容永乘胜追击了几里。就在这时,慕容国的一千骑兵突然从山涧杀出,在慕容永后方左砍右杀,与此同时,慕容楷和慕容农也从两翼夹击,大败慕容永,并斩首了西燕军八千多级。慕容永狼狈退回到长子。西燕晋阳守将闻讯,不战弃城而逃。后燕丹阳王慕容瓒等人也攻克了晋阳。慕容垂大军包围了长子。
慕容永打算往西逃奔后秦姚苌,侍中兰英劝说道∶“过去石虎进攻我们的龙城,太祖慕容默坚守不弃,最终成就了大燕伟业。如今慕容垂已是七十老翁,对战争早已厌倦,不可能长年累月驻在此地,攻击我们。我军只用坚守城池,令其疲惫即可。”于是,慕容永打消了放弃抵抗的念头,还派遣儿子常山公慕容弘等人向东晋雍州刺史郗恢求救,并献上一枚玉玺。
北魏与后燕交恶以后,拓跋珪采取了联合西燕、制约后燕的策略。因此,在拓跋珪接到慕容永的求救信以后,就立即命令陈留公拓跋虔(元虔)、将军庾岳率领五万骑兵,东渡黄河前来救援,魏军抵达秀容。
然而,晋军和魏军尚未抵达长子,长子城内就已经支持不下去了。慕容大逸豆归所部将领伐勤、贾韬等人秘密与后燕联络,打开了长子的城门,后燕军队涌进城内。慕容永逃往北门,被后燕前锋抓获。慕容永曾将慕容垂一系子孙全部诛杀,慕容垂因此对其恨之入骨。他责骂慕容永一通,然后将其诛杀,并将西燕原已投降的刁云等公卿三十多人一并杀死。西燕八郡七万多户以及慕容永从长安得来的珍宝、乐器、服饰、车马等全部纳入慕容垂的囊中。至此,西燕灭亡。