。刘琨和田徽于是继续前进，在谯国和刘祐军相遇，最终击破并斩杀刘祐，刘乔军因而溃败，司马越大军亦得以前进。司马颙见刘乔兵败，于是杀死张方试图让司马越罢兵，但不果；同时王浚所派将领祁弘先一步进逼长安，司马颙唯有出逃。后司马越护送晋惠帝回洛阳，司马虓因功而升任司空，镇守邺城。永兴三年（306年）十月，司马虓病死，享年三十七岁。司马虓死前将逃回北方的司马颖幽禁，但没有处死。司马虓死后，长史刘舆怕邺城人民知道司马虓之死而拥立甚得人心的司马颖，于是秘不发丧，假称得到诏命而赐死司马颖。