洛阳之战后,很多人对司马越不满,认为司马越把所有的兵力调到山东,根本就没把皇帝的安危当一回事。少帝司马炽此时也在位一年了,手底下渐渐也有了些宠臣,这些大臣把司马越的过失到处散布,意在打击司马越的威信。司马越在洛阳安插了不少密探,听说这件事后带兵来到洛阳,把少帝司马炽身边的心腹近臣中书监缪播、太仆卿缪胤、散骑常侍王延、尚书何绥、太史令高堂冲等十多个人全部杀死。少帝干着急没办法,只能趁没人的时候悄悄在后宫跟几个心腹太监诉苦,一边痛哭一边大骂:“要说奸臣贼子,也不是哪个朝代都有。可为什么偏偏轮到我呢?”
司马越又将宫廷侍卫中所有不是自己提拔起来的武官全部罢免,然后留在洛阳,独掌朝纲,从此彻底在精神上和权力上完全掌握了西晋。
有一个叫朱诞的左积弩将军也在罢免之列,他十分怨恨司马越,便投奔到刘渊那里,称司马越和皇帝闹矛盾,人心不齐,正是攻取西晋的好时机。刘渊早有一统天下之心,既然时机来了,岂能放过,当即命汝阴王刘景带五万精兵先攻黎阳。刘景和防卫黎阳的车骑将军王堪打了一仗,占了黎阳,刘景进城后纵兵抢劫杀人,又把黎阳三万多名百姓全部扔到黄河里淹死。刘渊听说后大怒,我是要夺天下的,夺天下者先要得民心,你小子这不是让人民恨我么?遂下令道:“朕让你去杀司马氏,不是让你杀百姓!”将刘景贬为平虏将军,让他带兵返回。另派刘聪、王弥带兵攻取洛阳。
刘聪、王弥带兵来攻上党。太守庞淳带兵拒敌,连吃败仗。司马越急派淮南内史王旷、将军施融和曹超五万人北渡黄河增援。过了黄河之后,施融认为太行山险恶,对方又熟悉地形,建议王旷先不要过太行山,一方面侦察敌情,一方面等待对方出山,在平原迎击敌人最为妥当。王旷骂其胆小,并且说对方都是骑兵,山地有利于己方的步兵,根本不必担心山地作战。哪知道王旷的军队来到太行山中一个平坦而空旷的山谷中时,遭到刘聪、王弥骑兵的四面掩杀,王旷拼命反击,总算带着万余人杀出重围,逃了回去。庞淳见援军败逃,只好投降。
刘聪、王弥乘胜渡过黄河,先与镇守黄河南岸的平北将军曹武打了一仗,大胜;再和南阳王司马模从长安派来的援兵淳于定打了一仗,又胜。曹武与淳于定吃了败仗,先后逃到弘农郡。弘农太守垣延本来也准备出兵,曹武与淳于定告诉他说,刘聪和王弥太厉害了,你这点兵马根本不够他塞牙缝的,不如一齐逃吧。垣延很“重视”曹武和淳于定提供的军事情报,于是说:“既然他们这么厉害,那我就投降吧。”
曹武和淳于定吓了一跳:“我们晋朝还有战斗力,等各处勤王的军队汇合后,定能胜他,你何必害怕成这个样子?”
垣延嘿嘿一笑道:“我是诈降。”遂与二人定下计策,让曹武和淳于定带兵埋伏起来。
刘聪来到弘农郡宜阳城,垣延献城投降。刘聪有点儿怀疑,不敢入城,在城外扎下营寨。垣延派人备上好肉好酒,运到军营,大摆盛宴,还找了一些有文艺细胞的军士为刘聪表演。刘聪的军队打了好多天仗,精神也比较紧张,这天晚上得到了很好的放松,又唱又跳,又是篝火晚会,又是两军大联欢,闹到深夜方才休息。
等汉军都睡得像死猪一样了,垣延带着有文艺细胞的军士便在大营中四处放火。曹武、淳于定早就埋伏在营外了,一见火起,立刻率兵攻进营来。汉军们在联欢会上消耗了不少体力,又喝了很多酒,又累又困又醉,兵卸甲马卸鞍兵器放在床底下,冷不丁被这么一冲,大多数人都无力还手,甚至没闹清是怎么回事。曹武、淳于定和垣延在营中杀来杀去,汉军死伤无数。刘聪也被围在营中,冲不出去。
幸好王弥带着一支小部队在远处安营,听说大营被踹了,急忙带千骑来救,总算把刘聪救出。两个人在前头跑,垣延等三将带人在后边追。刘聪、王弥一直渡了黄河才把晋军甩开。刘聪收拾收拾败兵,五万人还剩两万多,恨得牙根痒痒,恨不得咬死垣延。
刘渊得知刘聪吃了败仗,又派刘曜、刘景率三万精骑增援刘聪。刘聪、王弥、刘曜、刘景四员大将带着五万铁骑再渡黄河,又一次向弘农攻来。这回二话不说,直接开打吧。刘曜身先士卒,冲上城头,攻取了城门,大兵一拥而入。垣延刚逃出南城门,被刘曜追上,一刀砍下人头,献给刘聪。宜阳一破,洛阳门户大开。刘聪很快进抵洛阳,分兵四路,将洛阳团团围住。
司马越急问众将怎么办?这时那位来洛阳出差的凉州督护北宫纯还没有走,他说道,这有什么可担心的?今天晚上我带着我一千西凉骑兵,先把主帅刘聪的大营踹了再说。
当晚北宫纯带兵偷偷出城,攻入刘聪大营。虽然刘聪晚上也设了警戒哨,绊马桩,无奈北宫纯的西凉兵太猛了,在营里杀来杀去,竟然无人能挡。等其他营寨的军队前来增援时,北宫纯已经迅速退回城中。刘聪点查损失,死伤两千兵士,手下大将呼延颢和呼延翼被北宫纯劈死。刘聪恨极,猛攻洛阳。但洛阳毕竟是百年古都,城高墙厚,又有重兵把守,攻了半月,丝毫没有进展。刘聪又分出部分兵马留守,自己带了另一部分兵马离开军营去嵩山拜山神,想让山神助他攻城。司马越听说刘聪去嵩山了,立刻派兵袭击留下来的汉军。刘聪走到半路上得报说自己的大营又被踹了,这回是白天踹的,急忙回来。回来后司马越又退回城中。刘聪再折了几千兵马,手下刘厉和呼延朗两员大将战死。
刘聪屡受偷袭,连吃败仗,攻城又攻不下,走又走不开,连拜山神都不能,只好向刘渊请示后退兵回去。
刘聪这边劳师无功,石勒和刘灵却打得很是顺手。石勒奉刘渊之命率三万军队在河北活动,很快攻下巨鹿、常山等地,又由于石勒一改匪性,军纪很严,不犯百姓,军队的待遇也很好,不欠粮饷,很多百姓也前来投军,竟然很快发展到十万大军。
石勒进入河北后,有一个叫做张宾的人来投奔。石勒问他道:“你是汉人,为什么要来投奔我羯人呢?”
张宾道:“凤择高枝而栖,人择明主而事。晋朝的气数已尽,而我看您有汉高祖当年的英气,我是来助你成就天下大业的!”
石勒这个时候还没有想当皇帝的心思,不过被人拍马屁也是一件比较受用的事,所以收下了张宾,但只把他当做一个普通的谋客而已。没想到后来打仗张宾每每提出建议,不管石勒采纳不采纳,后来的结果总如张宾所料。石勒这才知道此人是个人物,遂重用张宾,在张宾的帮助下连连攻下中山、博陵、高阳等城,兵马又增了数万,很快控制了大半个河北。
石勒接着打算先取幽州,巩固了北部后方,然后再南取洛阳。大家都觉得这是个稳妥的战略,张宾则反对说:“幽州王浚很不容易打,军事力量很强,又有名将祁弘,而且辽西鲜卑也是他的强大盟友。以您现在的力量根本不是他的对手,不如先南下把黄河以北的河北全境全部平定之后,再做北进的打算。”
石勒自打进入河北以来连打胜仗,并且颇得民心。他认为自己再不是当年那个总打败仗,被人赶得到处流窜,靠着烧杀抢掠为生的土匪头子了,而是脱胎换骨,百战百胜,手握十多万雄兵的大将军。只要得民心,只要勇猛善战,那就能打胜仗,幽州王浚、名将祁弘、辽西鲜卑又算什么呢?
于是石勒傲然答道:“王浚虽然很厉害,但我必取之!”
石勒留张宾、夔安、王阳留守,带了刘灵、刁膺、孔苌、支雄、桃豹、逯明等将,领大军十万,浩浩荡荡向幽州杀去。
王浚见石勒来攻,以祁弘为帅,段务勿尘为副帅,又从鲜卑借来几万人,一共十二万大兵在边界严阵以待。这两家都是掏了家底来战,两军二十多万人在沙场上一摆,阵势相当的壮观。石勒与祁弘杀了整整一天一夜,石勒不敌,连连退守,一直败退到飞龙山(今石家庄附近),才倚仗着险要地势,稳住军队。
祁弘见石勒据险而守,派段务勿尘率数千兵丁带了攀山的工具从飞龙山的山后绝壁攀上,又挑逗石勒带重兵下山来战。正面战场上石勒与祁弘杀得正酣,飞龙山上段务勿尘却已经取了石勒的营寨,然后从山上直扑下来,杀入石勒后军。石勒腹背受敌,全军大溃,和他一同平定河北的生死兄弟刘灵也在这场战役中战死。石勒总算命大,带了败军一路南逃,祁弘在后紧追不舍。幸好张宾派人前来接应,在山间设下三千弓弩手,让过石勒败兵之后,等祁弘追到,乱弩齐发,霎时间便射倒千人,祁弘也被射成重伤。后军段务勿尘急忙把祁弘抢回,祁弘回到大营,当夜身亡。段务勿尘只好率兵回去。
这场大战,石勒虽然损兵折将,失了大将刘灵,败退冀南,但百战百胜的辽西名将祁宏却被射杀,可以说各有所获,各有所失。
石勒率败军回到冀州,因连失数员大将,伤亡四五万人,粮草、辎重也没剩下多少,便打算休养生息,好好恢复一下元气。但司马越听说石勒吃了败仗,认为这是收复河北的好机会,遂决定痛打落水狗,命令车骑将军王堪、北中郎将裴宪率众五万人前来征讨。
石勒一听这个消息,吓得嘴都合不拢了:“我现在要将没将,要兵没兵,要粮没粮,这可怎么办?”
张宾轻轻一笑道:“当年韩信三万弱兵背水为阵,大破二十万赵军。现在晋军不过五万,您怕什么?”
在张宾建议下,石勒从军营中挑选出精兵三万,带兵来到黎阳(河南省浚县),等晋军渡过黄河之后,石勒让大家饱食一顿,然后把大营给烧了。石勒悲壮地对众将士道:“五万晋兵就在眼前,而我军已经无营可守,无粮可食,后方冀州皆是伤兵,此仗只能胜,不能败!”
将士也是群情激奋,一齐回应:“情愿死战!”
几个小时后,晋军来到,还没来得及结阵,石勒一马当先冲了过去,身后三万精卒奋勇向前。晋军哪里见过这么玩命的,登时大败。车骑将军王堪带着败兵一路南逃,被追上斩首;北中郎将裴宪比较聪明,离开军队,化装成老百姓,逆路北上,逃到幽州投了王浚。石勒乘胜渡过黄河,攻城略地,占了白马和仓垣两地后回师渡河,趁势把黄河以北的广宗、清河、平原、阳平等地全部解决掉,统一了黄河以北全境。刘渊听到捷报大喜,加授石勒为镇东大将军,让他继续镇守河北。从此黄河以北之地,除幽州王浚和晋阳刘琨以外,尽为汉国所占。