慕容宏遣使通知赫连山,赫连山依计而行,令副将俞向督军五万围住武关,但不进攻。火师鼎连夜率2万军士埋伏在晋军必经之道宛城外一处狭窄的官道上。司马明凡探知火师鼎率2万军马挡住晋军去路,担心火师鼎在附近设伏,便与高礼商定,由高礼率5万晋军进击火师鼎大军,司马明凡在后观察形势,见机行事。若高礼遭遇不测,司马明凡可率军救援。高礼趁夜色偷袭火师鼎军营,火师鼎大军一触即败,纷纷向宛城方向逃窜,宛城一万燕国守军弃城而逃。高礼立刻率大军追击火师鼎50多里,又击退赫连山5万大军,司马明凡见附近山头并未有伏军袭击高礼,遂率军通过山谷官道,与高礼大军会合,共同向武关进发。不料从山间滚落大量巨石,砸死、砸伤众多晋军,稍后燕军弓箭手下山射击晋军。高礼得知主将遇袭,火速赶来救援。司马明凡率残军与高礼回合后,却意外发现火师鼎大军卷土重来,攻击晋军,赫连山大军与火师鼎首尾夹击晋军,晋军士气低落,死伤甚多。
由于秦军勇猛异常,晋军不敌,鏖战一天后溃败。高礼为救蔡王,陷入敌军包围圈,被火师鼎困住后自杀。蔡王在众将的拼死保护下,侥幸脱逃,奔赴建康请罪。
刘达得知赫连山率军袭击晋军,遂留3万人马镇守武关,亲率5万军马出城救援晋军。刘达刚出城不久,便与俞向5万大军厮杀一番,一时不分胜负。刘达副将毕宣率2万军士出城攻击俞向大军,俞向不敌,遣使向赫连山求救。火师鼎与赫连山率领剩余的5万大军火速救援俞向。俞向大军得知援兵已到,争相奋勇杀敌。火师鼎与赫连山大军围住刘达,武关1万守军不敢出城相救。刘达万般无奈,下令全军缴械投降,燕军得以入关,直逼长安。
司马明凡负荆请罪,晋帝大怒道:“明凡,你忤逆朕意,令大军损失殆尽,依律当严惩不贷。”
司马明凡含泪道:“儿臣自知罪不可赦,愿以死谢罪。”
曹王沾沾自喜,晋帝向曹王投来冷冷的目光,道;“明刚,你以为如何处置明凡?”
曹王一时愣住,本想劝晋帝处死蔡王,又觉得此举不妥,必定令晋帝起疑心。可是,蔡王如今犯下不可饶恕的罪行,晋帝对其失望透顶,蔡王已无缘未来东宫储位,对曹王构不上任何威胁。
于是,曹王假心劝道:“父皇,儿臣以为明凡虽是铸成大错,但毕竟是父皇血脉,请父皇看在父子之情上,赦免明凡死罪。”
“明刚,难得你一片爱护弟弟之心,朕心甚慰。”晋帝深受感动,话锋一转,怒瞪了蔡王一眼,道:“若不是明刚为你求情,朕定当将你打入天牢。你抗旨不尊,藐视天威,褫夺亲王封号,降为郡王。从即日起,移居江州监察浔阳军,由江州刺使廉斌监视,无旨不得擅离江州。”
“儿臣多谢父皇不杀之恩。”司马明凡泣涕涟涟,准备起身赴江州。
晋帝想起曹王母妃符贵妃,恨恨道:“你等等,你母亲教子无方,致使你犯下大罪,不可轻饶。从今日起,褫夺符氏贵妃封号,贬降为嫔,一切礼遇俸禄随减。”
中书令康广片刻也不敢怠慢,立即起草惩处诏书,又命中书侍郎去符贵妃长宁宫宣旨。
驸马高礼因救蔡王而战死,晋帝不予追究高氏一门的罪责。高皇后因侄子救蔡王而死,迁怒于符贵妃,将符贵贵妃身旁的太监与宫女全部换成她的人,又克扣符氏供应待遇。不过,符氏向来不受宠,习惯于逆来顺受,自然对高皇后不敢有半句怨言,事事隐忍退让。此次曹王在晋帝面前再一次露了一把脸,晋帝对蔡王生母慕容贵妃颇为宠幸。晋帝对高氏圣心不如往日,高氏受冷落,符氏受打压,慕容贵妃感到一阵久违的兴奋,在一旁笑看高皇后对符妃出恶气。本来慕容贵妃是高皇后最恨的人,但是高皇后对老谋深算的慕容贵妃无可奈何,遂将满腔怒气泼在符妃身上。当然,高皇后是明白人,蔡王已对东宫储位失去威胁,再怎么严厉处罚符妃,也阻止不了曹王对太子构成的巨大威胁,也抵消不了慕容贵妃如日中天的气焰。过了几天,高皇后摒弃前嫌,善待符贵妃,几乎调用一切力量对付慕容贵妃。