公元311年,晋怀帝与司马越的矛盾爆发,密诏苟?伐之,随后司马越病逝,王衍率军归葬封国。当他东行至苦县(今河南鹿邑县)时,遭石勒袭击,晋军精锐受屠尽亡,重臣降后被杀。此时洛阳空虚,被刘聪、王弥兵攻破,杀害官员百姓三万馀人,掳走晋怀帝,史称“永嘉之祸”。 公元313年,晋怀帝被杀,晋愍帝于长安继立帝位,刘聪派刘曜持续攻打。