325年6月,刘曜感觉石勒要来打自己,就先发制人,派遣重甲士兵五千,精兵一万进攻河东重镇孟津。石勒早就等这个机会了,遂即就让石虎领四万骑兵增援,把刘曜的部队杀了个精光。 刘曜听到前线大败的消息后,亲自率领部队援救。石虎听说,也率三万骑兵前来厮杀。不过刘曜的亲兵战斗力很强,来势汹汹,石虎的先锋一见到刘曜的先锋就被吓跑了。
石虎也感觉这一仗毫无胜算,正准备撤退回襄国。可谁知道,刘曜的部队晚上驻扎后突然炸营,士兵逃跑了一大半。刘曜只好退到渑池,石虎不战而胜。(所谓炸营,就是士气溃散了,大家趁机自相残杀,有仇报仇,有怨报怨。杀完了趁夜逃跑)更搞笑的是,到了第二天晚上,刘曜的部队居然又炸营了,上下一片混乱,于是刘曜只好率领昏昏沉沉的残部逃到长安。
让石虎白捡个大便宜。此一战,前赵军未战先乱,莫名其妙的发生两次炸营,损失惨重,可谓是元气大伤。刘曜退回长安后,决定重整旗鼓,待整顿部队后再反击。不过他还没动,陇右被他欺负的少数民族和前凉国主张骏就来报复了。这帮人趁刘曜虚弱之际,纷纷独立,又给刘曜的后背捅了一刀子。公元326年,石虎带领四万精锐趁势进攻前赵的河东(今山西南部)一带。
河东五十多座县城守将看到刘曜打败仗了,都纷纷投降石虎。这时轮到刘曜陷入危机了,西北的张骏、西方的杨难敌、西南的李雄都开始在边境囤积重兵,准备趁石虎进攻关中时分上一杯羹。刘曜知道形势不妙,就仔细研究了一下边境形势。他认为目前的颓势都是石虎那个杀千刀的导致的,只要赶跑了石虎,别人就不怕了。于是刘曜集结了关中全部可以调动的兵力,除了留一部分防卫陇西外,其余全部派出去进攻石虎。
这一战刘曜十万大军,士气虽然不高,但人多势众。石虎碰到这十万多人的部队,根本就抵挡不住,被连续追杀了二百里。石虎惨败,他先前攻克的前赵府县又纷纷投降了刘曜。石勒听说前线惨败,只好宣布襄国戒严。然后他集结了六万多步兵和四万骑兵,亲自率领,与刘曜决战。当时,刘曜把部队都集结到了洛阳。石勒的谋士对他讲:刘曜深入我境内千里,必定支持不了多久,大王最好不要亲自动手。
石勒对此有不同意见,他认为:刘曜军队的士气还是有的,只不过刘曜在士气高涨时没有尽快进攻,现在竟然停在了洛阳。如果他在成皋驻扎,利用关口消磨我的士气,那是上策;在洛水驻扎,利用洛水与我对峙,消磨我的锐气,是中策,可现如今他却在洛阳坐守,坐等我跟他对攻,这就是下策了。他在等我,而我方部队已经养好精神。现在我就是要一股锐气杀过去,一战干掉他。
之后,石勒兵分三路进攻成皋。当后赵的十万大军抵达成皋关时,竟然发现关上真的无人防守,石勒听说后,喜出望外,拍着脑袋大叫:“这是天意啊!”再之后,石勒催动部队急行军到洛阳城扎寨。等他看到洛阳西连绵十几里的刘曜大营的时候,便胸有成竹地对部下说:“你们可以提前祝贺我了!”石勒在摩拳擦掌,准备大决战时,刘曜却昏庸到了顶峰,他在洛阳天天就是喝酒,部将劝谏他,他就把提意见的部将一律斩首。
后来他的前锋部队和石勒的小股兵力作战,活捉了几个俘虏,俘虏说:“大王亲自来了,人很多啊。”刘曜顿时吓得变了脸色,命令部队收缩,打算抱团应战。过了两天,石勒命令石虎率领三万步兵从北面出城往西进攻刘曜的中军,部将石堪、石聪率领八千骑兵从西面出城往北进攻刘曜的前锋。这时的刘曜居然还在喝酒,听说石勒出兵进攻,他为了表示自己的镇定,就又喝了几大斗酒,方才迎战。
混战开始后,双方的部队浴血搏斗,刘曜看着双方厮杀,感觉很过瘾,然后他就喝干了手中的酒,率领亲兵居然就冲入了战团。 由于刘曜是皇帝,他亲自出战必然是锣鼓喧天,红旗招展。所以很快,石勒的部队就看到了刘曜的御旗,知道刘曜亲自上阵。然后石勒大军立即围了上去——不打杂兵,专门攻刘曜的御驾。古代的军队,阵型一乱,必然要溃散。
后赵的军队专攻刘曜御驾,所以前赵的军队立刻就大乱。刘曜被乱兵裹走,战马掉到附近河里的冰窟窿里,转眼间就冻住了,连人带马都动弹不得。一会时间,后赵的追兵杀过来,追兵一看水里面的就是刘曜,然后就把他活捉了。刘曜被活捉后,石勒停止追击,他派医生给刘曜治伤,并带回襄国软禁了起来。石勒暂时没杀刘曜,当然不是因为他心慈手软,而是他想让刘曜写信给长安守军,让前赵的残部投降。