八月,汉刘聪之兵将至洛阳,晋将军曹武引兵拒之。刘聪自出马与武交战,未经三合,武兵大败各散。曹武弃众逃溃,乃单骑走还洛阳,汉军长驱至攻洛阳。刘聪连胜数阵,怠不设备。时弘农太守坦延以兵五千拒聪,恐寡不敌众,乃设计诈降于聪。聪以为实,至次夜以牛酒劳军,军士皆醉歇息。半夜,坦延乃使其众散往各营放火,大叫晋兵全队在此。汉军醉中,见火光冲天,各持刀自相残杀。及至天明,聪军死其大半。坦延以兵击杀,汉军大败而逃退二十里屯住,招集残军。

  至十月,以其众来攻洛阳,屯军于西明门。卫将军北宫纯谓诸将士曰:“敌众我寡,难于拒战。今彼远至,有劳无逸,宜乘其劳未定而击之,可以取胜。”众领诺。至夜,北宫纯亲自率勇士三千人攻汉壁。时汉兵初至,行路辛苦,闻晋兵至,皆自奔溃,不敢当锋。汉将军呼延颢连忙跨马出拒敌,被北宫纯驰至,大喝一声:“休走!”抡刀当头便砍,呼延颢竟死于非命。刘聪见晋兵甚盛,乃收众屯洛水,计点诸将,始知呼延颢被杀,大司空呼延翼亦为晋兵所杀。刘聪势穷,连忙遣使回国求救兵。汉主渊欲发兵前来,当宣于修之上言曰:“岁在辛未乃克洛阳,今晋气犹盛,大军不归必败,不如召还。”汉主渊曰:“然!”于是遣人乃召楚王刘聪回国。聪闻召还军,乃以众归平阳,使王弥以军出轩辕关。流民之在颍川、襄城、汝南、南阻、河南者数万家,素为居民所苦,皆杀长史以应王弥。

  庚午四年,汉烈宗刘聪光兴元年正月,琅邪王司马睿以周圯有三定江南之功,拜圯为吴兴太守,圯奉命受职。汉主渊又遣曹嶷为将,寇东平、琅邪,又使刘灵寇幽州。四月,汉刘灵以二万军来寇幽州。王浚急忙点军,分二队埋伏险津两畔。灵兵直过险津,被伏兵出截。正欲交锋,浚大军又至,当三下夹攻,灵死于乱军之中,杀散余兵,俱各走还。