陈眕、上官巳等人带着太子司马覃留守洛阳。司马越逃到下邳,徐州都督东平王司马楙不让他进城,司马越只好逃回东海。司马颖看在司马越是宗室长辈的份上,下令招他回来,司马越根本不理。前奋威将军孙惠写信劝司马越联合各地藩王,共同扶持皇室。司马越觉得有道理,任命孙惠为记室参军,让他参与谋划。北军中候苟曦逃到范阳王司马虓那里,司马虓以皇帝名义任命苟曦为兖州刺史。
当初,司马颖、司马颙、司马冏起兵讨伐赵王司马伦时,王浚手握重兵却首鼠两端,禁止手下人响应三王的招募。司马颖一直想收拾他,但没找到机会,其实王浚也在盘算着怎么对付司马颖。司马颖派右司马和演担任幽州刺史,秘密让他杀掉王浚。和演勾结乌桓单于审登,计划约王浚去蓟城南的清泉游玩,趁机动手。结果那天突降暴雨,兵器都被淋湿,计划泡汤。审登觉得王浚有上天保佑,就把和演的阴谋告诉了王浚。王浚立刻和审登秘密整兵,还联合并州刺史东嬴公司马腾一起围攻和演,将其杀死,王浚自此掌控幽州军队。司马颖以皇帝名义征召王浚,王浚干脆联合鲜卑段务勿尘、乌桓羯朱,还有司马腾一起起兵讨伐司马颖。司马颖派北中郎将王斌和石超迎击。
司马颖记恨东安王司马繇之前劝他投降的建议,八月初五,把司马繇抓起来杀了。司马繇的哥哥琅邪恭王司马觐去世后,儿子司马睿继承爵位。司马睿沉稳机敏,当时担任左将军,和东海参军王导关系很好。王导是王敦的堂弟,见识深远。他看朝廷内乱不断,就经常劝司马睿回到自己的封国。司马繇死后,司马睿正在邺城陪皇帝,担心被牵连,想偷偷逃走。司马颖之前就下令各关卡禁止贵族出城,司马睿到河阳时,被守关官吏拦住。幸好随从宋兴及时赶到,用马鞭敲着司马睿开玩笑说:“伙计,官府禁止贵族通行,你也被拦住了?”官吏以为他是普通人,这才放行。司马睿到洛阳后,接上太妃夏侯氏一起回到封国。丞相从事中郎王澄揭发孟玖贪污谋利的事,劝司马颖杀了他,司马颖照做了。
上官巳在洛阳胡作非为,河南尹周馥(王浚的堂弟)和司隶满奋等人想杀了他。结果事情泄露,满奋等人被杀,周馥逃走才保住性命。司马越讨伐司马颖时,司马颙派右将军张方带两万人去支援。张方听说皇帝已经到了邺城,就奉命镇守洛阳。上官巳和苗愿带兵抵抗,被打得大败。太子司马覃趁夜袭击上官巳和苗愿,两人逃走,张方进入洛阳。司马覃到广阳门迎接,见到张方就下拜,张方赶紧下车扶起他。随后,张方又把司马覃和羊皇后废了。
司马颖之前上表,让匈奴左贤王刘渊担任冠军将军,监管匈奴五部军事,驻扎在邺城。刘渊的儿子刘聪,勇猛过人,博览经史,擅长写文章,能拉开三百斤的硬弓。二十岁时到京城,和许多名士结交,司马颖任命他为积弩将军。
刘渊的堂祖父右贤王刘宣对族人说:“汉朝灭亡后,咱们单于只剩个空名号,没有一寸土地;其他王侯,和普通百姓没什么区别。现在咱们虽然人少了些,但也还有两万人,怎么能甘心被人奴役上百年!左贤王刘渊英明神武,要是上天不想复兴匈奴,就不会生出他这样的人。现在司马家兄弟自相残杀,天下大乱,正是恢复呼韩邪单于大业的好时机!”于是大家商量,推举刘渊为大单于,派呼延攸到邺城告诉他这个消息。
刘渊向司马颖请求回去参加葬礼,司马颖不同意。刘渊就让呼延攸先回去,告诉刘宣等人召集匈奴五部和其他胡人,表面上说是帮助司马颖,实际上准备反叛。等王浚、司马腾起兵后,刘渊劝司马颖:“这两人势力嚣张,手下有十多万人,靠您现有的兵力恐怕挡不住。我回去召集五部人马,帮您解决麻烦。”司马颖担心:“五部的人真能召集起来吗?就算能,鲜卑、乌桓也不好对付。我想带着皇帝回洛阳避一避,再发檄文号召天下,用正义之名讨伐他们,你觉得怎么样?”刘渊说:“殿下是武皇帝的儿子,对皇室有大功,威望恩德远播四海,谁不愿意为您卖命?召集五部轻而易举!王浚、司马腾不过是小人物和远亲,哪是您的对手!您一旦离开邺城,就是向人示弱,到时候洛阳也回不去;就算到了洛阳,权力也不在您手里了。您只管稳住军心,我保证用两部人马打败司马腾,再用三部人马杀了王浚,他们的脑袋很快就能挂起来示众!”司马颖听了很高兴,封刘渊为北