石琨成功逃出襄国后,以勤王为名,在襄国以北集合赵国各地援军;同时,他令部下张举前往辽东拜见慕容俊,向这位燕王许诺:燕军若能解救襄国之围,石琨愿意去除帝号,向燕国称藩,并献上传国玉玺(其实这时传国玉玺在冉闵手中);又令另一位部下张春去拜见羌人首领姚弋仲,加封其为亲赵王、右丞相,也请他出兵相助。如此行事下来,到了三月,慕容俊任命悦绾为先锋,率燕国精锐三万已抵达河北,姚弋仲亦令其子姚襄率骑兵二万八千,前往救赵。石琨与他们会师后,救援襄国的三支军队人数相加,已不下十万。
冉闵经哨兵来报得知这事,他担心腹背受敌,于是火速撤下攻城士兵,在襄国城外就地加固营垒;并分出数万兵力交给部将胡睦、孙威,让他二人前去阻击三路敌军。结果那三支援军势不可挡,尤以悦绾领导下的燕军最为勇悍,轻易将胡睦、孙威二人打得大败。在击败这队魏军之后,悦绾、姚襄、石琨趁势逼近冉闵的阵地,反过来把他给包围了起来。
冉闵向来自负,眼下他虽然身陷以一敌三的困境,却毫无惧色,欲亲自出马,迎战悦绾、姚襄、石琨。卫将军王泰谏道:“今襄国尚未攻下,赵国的援军却云集而来,若陛下亲自出战,必有腹背受敌之险,此乃危道是也。不如先固守营地以挫敌军锐气,待三支援军之间出现裂痕时,再从容的将之一一击破。”冉闵听后觉得在理,刚想表示赞同,一旁站出来一位名叫法饶的道士,却信誓旦旦地道:“王泰之言差矣,陛下包围襄国已有半年,期间一无所得;今日石琨带着区区几万胡人主动前来挑战,我军若再坚守不出,陛下何以在三军面前立威—昨夜老道夜观星象,陛下这次若出战,一定会百战百胜,千万不可错失良机啊!”
冉闵被道士法饶这么一激,顿时热血沸腾起来,挽起袖子大声道:“朕已决定出战,谁再敢出言劝阻,乱我军心,立斩无赦!”说完,冉闵即亲率全军出营,主动挑战悦绾、姚襄、石琨等人。事实证明,封建迷信是要不得的—法饶夜观星象,观得再好,也掩盖不了魏军实力远远不及那三国联军的事实;再加上石祗趁机又率襄国守军集体杀出,猛烈攻击魏军身后,一战下来,冉闵的军队几乎全军覆没,幸亏他所骑的朱龙马脚力非凡,才带着几百人侥幸杀出了重围。
冉闵一路仓皇逃回邺城,石祗得势不饶人,以刘显为大将,将仅有的七万军队全部授予他,又从后追来。冉闵心中又是懊悔,又是愤怒,遂下令立斩法饶父子,并重新派人去请王泰,打算再向他问计。王泰因之前冉闵不肯听从他谏言的事儿,心里还在生着闷气,见冉闵这时派人来请他,竟托言有病不肯前去。冉闵听说这事后,冷笑一声,拔剑而起道:“王泰这厮,真不知好歹,难道没了他,朕还做不得这个皇帝么?”
冉闵于是下令,集合邺城城内的所有骑兵,随他出战刘显;待取胜归来,再拿王泰是问。由于刘显的这次出兵是单独行动,那两支精锐的鲜卑、羌人的援军都没有随行,故冉闵一旦奋起神威,轻易地就重新扭转了战局,两军相遇后,七万赵军被冉闵跟砍瓜切菜一样,当场斩杀了三万多,已接近半数。刘显畏惧于冉闵的勇猛,主动派人向他求和,并与之秘密约定道:“若能释放我军回去,愿取石祗的首级赠予魏帝。”
对骄傲的冉闵来说,刘显这么个不起眼的小人物根本无足轻重,杀与不杀都无所谓。见他既然这么承诺,冉闵于是便把他放了回去,而刘显到襄国之后,也确实履行了诺言,他带兵入宫发动政变,弑杀了石祗和仅存的几位石姓宗室,把他们的首级一并送到了邺城。至此,曾经盛极一时的羯族大姓—石氏,在冉闵、刘显的内外夹击下,几乎灭亡殆尽。
(刘显发动政变时,石琨因领兵在外,躲过了这一劫。他随后带着军队渡江南下投降了东晋,结果东晋统治者以替先祖报仇的名义,也将他斩杀于建康城中。)
石袛死后,赵国王位后继无人,这本该是冉闵占领襄国,登上中原霸主之位的最佳时机。可惜的是,他之前杀人太多,四面树敌的恶果这时暴露了出来—襄国的军民因为长期与冉闵作对,他们担心冉闵一旦成为整个赵地的统治者,会再来次《杀胡令》,所以他们宁可听从刘显这位弑君小人的指挥,打心底也不愿归顺冉闵。为此,冉闵不得不授予刘显上将军、冀州牧等封号,让这位弑君小人镇守襄国,协助自己维持在河北的统治地位。
可刘显是个小人也就罢了,偏偏他还是个不知自己几斤几两的浑人。他前脚刚得了冉闵授予他的上将军封号,后脚就发兵偷袭邺城,打算将赵、魏两国一起灭了,由他自己来做这个中原霸主。
不自量力的结果,就是自取其辱。最终,这次偷袭行动被冉闵轻松化解,刘显再次大败,他逃回襄国后,心想反正已和冉闵撕破了脸,所以他干脆把冉闵赐给他的上将军、冀州牧等印信全扔了,也宣布称帝。
刘显称帝后,邺城、襄国两大政权重新陷入对峙局面。到该年八月,自打石氏灭亡后,本已降了魏国的徐州、兖州、豫州等许多地方守将纷纷叛变,向东晋献上他们所占据的城邑。细论这事缘由,在于他们曾寄希望于冉闵能够利用其军事才能,在中原地区重新建立起一个稳定的政权,结果没想到:冉闵虽然百战百胜,但中原却是越打越乱,在他统治下的光景甚至还不如暴君石虎的执政时期,这显然让他的臣民们倍感失望。
也就在这时,一个消息犹如惊雷,瞬间传遍了华夏大地:燕王慕容俊亲率大军二十万,已在进军河北的途中!
从慕容俊迁都蓟县以来,他便一直在等待着这一刻。而他之所以这些年看着冉闵、石袛、刘显等人缠斗不休,迟迟不肯动手,在于慕容俊、慕容恪二人都是杰出的战略家,明白要么不战,要战就必须一击必中的道理。与冉闵所用的“莽夫型”战法不同的是,慕容俊在出兵之前就明确提出:此战的重点不在于攻城略地,而在于取得中原士人的民心。在这一宗旨下,燕军在行军过程中,每过一地,都是军纪严明、秋毫无犯。因而,各地军民但闻燕军到,争相献出牛酒劳军。慕容俊几乎没有遭到什么抵抗,就带着二十万燕军顺利推进到中山地界(在今河北石家庄北部)。
公元351年八月,慕容俊派遣其四弟慕容恪攻打中山城,起初,因该地守将侯龛闭门坚守,慕容恪久攻中山不克。若换作冉闵指挥这一战,他要么是知难而退,要么又是挖地道,又是撞城门的继续猛攻,非得杀到血流成河不可。但慕容恪却采取了与之截然不同的战法,他见中山一时难下,于是撤除对该城的包围,带着军队在附近一带巡逻,但凡遇到投降的将军、士兵,就收编他们入军,并给于丰厚的赏赐。因此没过多久,慕容恪借这些降兵降将之口,轻易将他大仁大义的威名极大的推广开来,附近许多郡县的将帅仰慕其为人,都主动赶来慕容恪的军中效力。然后,慕容恪见攻心之策施行得差不多了,方才不慌不忙的又带着人数已多出来好几万人的军队重新把中山城包围,这次他仍是不下令强攻,而是让那些降兵降将替他喊话,劝侯龛也像他们一样投降燕军。侯龛哪吃得消慕容恪这一套,于是他稍稍犹豫之后,也开城降了。
燕军由此又拿下了中山城,距离刘显的襄国只剩二百余里。慕容恪率军入城后,对侯龛等十几员将领给予丰厚赏赐,将他们迁往蓟县,其余的军民则原地安居。他因为听说有一位名叫孙兴的人极有贤名,善于安抚百姓,于是上奏慕容俊,请求其兄任命孙兴为中山太守。慕容俊照办后,中山一带随即安定了下来。