303年(太安二年),成都王颖、河间王颐冈不满于长沙王义而会攻洛阳。
成都工颖、河问王颐在302年不满f齐王司马同专权而会攻洛阳,结果司马同死,长沙王司马义在洛阳执政,而成都王颖、河问王颐二王退守各自的根据地邺城和长安,司马颖以大将军的名义遥控朝政。但河问王颐对这样的情况心怀不满,他本想发难后废惠帝而伺机掌权,不料反让长沙王义做了执政。不久,成都王颖也不满于长沙王义,不听其摆布,于是303年,二王以长沙王论功不公平为借口,同时发兵。河间王以张方为都督率兵7万东进,成都王以陆机为前锋都督领兵20万南下,两队会攻洛阳。洛阳城内长沙王义也集结兵士数万应战。三方动用的兵力人数不下30万人,是八王之乱以来参战人数最多的一次。司马颖等进兵逼围京师,张方又决千生曷,使水磨全都不转。长沙王只能征发王公贵族家中的奴婢,用手工舂米来供给军粮。洛阳城内米价奇贵。但因司马义待惠帝友善礼貌,又能亲临前线,于是城内人心安定,并能屡得胜仗。张方见洛阳难以攻下,于是准备撤兵长安。