当初司马颙认为司马乂实力较弱,肯定会被司马冏杀死,然后自己就有了起兵讨伐司马冏的借口,等杀掉司马冏,废黜了惠帝司马衷,拥戴司马颖继帝位,自己就能做丞相,控制朝政。算盘打得啪啪响,结果反而是司马乂把司马冏杀死了,司马颙计划泡了汤。
司马乂大小事务都请司马颖决断,自己不敢作主,司马颖在邺城遥控朝廷。但司马颖不久就自恃劳苦功高,骄傲奢侈起来。尽管司马乂大小事情都汇报,司马颖还是嫌他碍手碍脚是个麻烦,准备除掉他。
这时,原司马冏的参军皇甫商被司马乂任命为自己的参军,而皇甫商的哥哥皇甫重正担任秦州刺史。前文说过,李含曾和皇甫商结怨,现在李含抓住机会对司马颙说:“皇甫商被司马乂引为心腹,皇甫重终究不会被我们所用,应该尽快除掉他,以绝后患。”不知道怎么的,消息走漏,皇甫重知道了李含的阴谋,他将此事禀告朝廷后,准备集结部队讨伐李含。但司马乂不想短时间内再起兵戈,就派使者命令皇甫重收兵,并把李含调到洛阳任河南尹。李含接受安排,但皇甫重不听。司马颙决心教训一下皇甫重,他派金城太守游楷、陇西太守韩稚等人率领共四个郡的军队联合进攻皇甫重,同时密令李含与侍中冯荪、中书令卞粹谋杀司马乂。不得不说,司马颙这一方的保密功夫做得实在差,消息再次让皇甫商得知,他把事情透露给司马乂,司马乂先下手为强杀掉了李含等人。前司徒长史牵秀(金谷二十四友之一)、骠骑从事诸葛玫逃出京城,前去投靠邺城的司马颖。
司马颙听说心腹李含等人被杀,当即起兵讨伐司马乂。司马颖想出兵帮助司马颙共同攻打司马乂,谋士卢志、邵续劝阻,司马颖不听。
太安二年(303)八月,司马颙和司马颖联名向朝廷上书:“司马乂与右仆射羊玄之、左将军皇甫商总揽朝政,赏罚不公,残害忠良。现请诛杀羊玄之、皇甫商,把司马乂送回封国(长沙国)。”惠帝司马衷下诏(当然是受司马乂控制)说:“司马颙竟敢冒犯京师,我将亲率六军诛灭他。特任命司马乂为太尉、都督中外诸军事,领兵御贼。”
没有余地了,那就打吧。司马颙任命张方为都督,率领七万精锐军队出函谷关向东直指洛阳。司马颖率领军队驻扎朝歌,让平原国(今山东平原县)内史陆机为前将军、前锋都督,统领中郎将王粹、冠军将军牵秀、中护军石超等人,率二十多万军队向洛阳进发。
陆机从一个流亡北方的原吴国人,突然跃居各将领之首,王粹等人心里当然愤愤不平。同乡孙惠跟陆机感情较好,他劝说陆机将都督的职位让给王粹,陆机没同意,直接率军出发,他道:“这样他们会说我临阵犹豫退缩,会加速灾祸来临。”司马颖的军队浩浩****,战鼓雷鸣,数百里之内都能听到。
太安二年(303)八月二十四日,惠帝司马衷御驾亲征,来到洛阳城西的十三里桥,太尉司马乂派皇甫商带领一万多将士在宜阳(今河南宜阳县)阻击张方。九月一日,张方袭击皇甫商,获胜。九月二十日,司马衷移驾洛阳城东,司马颖率军抵达黄河南岸,在那里安营扎寨。九月二十二日,羊玄之在过度惊恐中去世。九月二十五日,司马衷率军攻打牵秀,牵秀撤退,司马衷获胜,宣布大赦,不料张方趁机突然攻入洛阳,大肆烧杀抢掠,死伤万人。