不是晋惠帝正式任命，不接受司马越的差遣，并起兵攻向司马虓的根据地许昌，又命长子刘祐抵抗司马越的进攻，令司马越大军不能前进。司马虓知道刘乔进攻后便逃到河北，得到王浚出八百骑兵支援，又自领冀州刺史，与是由冀州起兵，在荥阳斩司马颖将领石超，并击退刘乔。又派部将刘琨和田徽迎接司马越大军，在廪丘攻击司马楙，司马楙兵败逃回东平国。刘琨和田徽于是继续前进，在谯国和刘祐军相遇，最终击破并斩杀刘祐，刘乔军因而溃败，司马越大军亦得以前进。司马颙见刘乔兵败，于是杀死张方试图让司马越罢兵，但不果；同时王浚所派将领祁弘先一步进逼长安