永兴元年(304年),河间王司马颙部将张方挟逼晋惠帝迁都长安。次年(305年),将领王浚和范阳王司马虓等即推举东海王司马越为盟主,起兵到长安要迎惠帝还都洛阳。刘乔本来亦响应,司马越承制任命刘乔为安北将军,改任冀州刺史,刘乔因这任命不是晋惠帝亲自下的命令而不接受,更起兵反抗,攻击司马虓的据点许昌。司马虓不敌刘乔等军,逃到北方寻求支援。刘乔同时亦上书朝廷报告,司马颙于是派镇南大将军刘弘、平南将军彭城王司马释等与刘乔一同进攻许昌,又命张方和吕朗等人领兵去支援刘乔;刘乔亦获进位镇东将军,假节。同时刘乔亦派长子刘祐驻守萧县的灵壁,阻挡西攻长安的司马越大军。
司马虓不久获得王凌派兵支援,先后击杀司马颙用派去援助刘乔的王阐和石超,后更在谯击杀刘祐。刘祐兵败战死后,刘乔兵众亦溃散,刘乔只能与五百骑到平氏,司马越大军亦得以西进。