司马越和惠帝北征司马颖,上官巳(原长沙王司马乂的部下)留守洛阳,他为人残暴,用权任性,我行我素,引起了众臣的不满。守河南尹周馥(周浚堂弟)与司隶校尉满奋等人谋划除掉上官巳,但不幸消息走漏,上官巳先出手,满奋等人被杀,周馥侥幸得逃。

司马颙派张方率两万精锐部队去救援司马颖,中途听说朝廷军队已经失败,惠帝被“迎”入邺城,司马颙就命令张方先去占领洛阳。上官巳和张方展开厮杀,但不敌逃走,张方顺利进入洛阳城。

再说司马颖,他被王浚、司马腾的联军击败后,和卢志等裹挟惠帝坐上牛车仓皇出逃,连金银细软都来不及收拾。随行的一位中黄门在自己的被套中藏了三千钱,这是他辛苦积攒的,一路上视若珍宝,悉心守护,但眼看皇帝没有钱买吃的,这位中黄门动了恻隐之心,就把这些钱拿了出来。惠帝很感谢他,还专门下了借钱诏书,待以后归还。

用中黄门的这些钱,他们买了一些食物,惠帝这时候也顾不上形象了,端起瓦盆狼吞虎咽地吃了起来。因为要躲避眼线,他们夜里也不敢住旅店,只能和衣而眠,惠帝则盖着中黄门的被套睡觉。走到温县(今河南焦作市温县)的时候,因为司马家祖籍在这里,司马懿父亲以上的祖先也都埋葬在这里,惠帝一定要去祭拜祖坟。这时候惠帝的鞋子都跑丢了,他把侍中的鞋子穿上,来到祖坟前。看到这些坟茔,惠帝好像见到了亲人一样,想起自己目前的狼狈样子,他像个受了委屈的孩子一样扑倒在地痛哭流涕,众人也都跟着泪流不已。

他们继续南下,到邙山脚下的时候,张方率领一万多士兵亲自出城迎接,为惠帝举行了盛大的欢迎仪式。张方要下马叩拜,惠帝忙下车制止。回宫后,文武百官也陆续赶来报到。建武元年(304)八月十六日,经过波折回到洛阳的惠帝宣布大赦。

张方仗着兵强马壮控制了朝中大权,他拒绝司马颖参政。谁的兵马多谁说了算,就是司马颖也干瞪眼没办法。张方的属下在洛阳城烧杀抢掠,个个腰包鼓鼓,都急着想回家和家里人分享“成果”,吵吵闹闹地想要回乡,急躁不安。张方一看这样下去也不是办法,就打算把惠帝带到长安,在那里挟天子以令诸侯,但他又担心群臣不答应,便心生一计,准备在惠帝出城的时候挟制他一起出发,于是他奏请惠帝出城去祭拜皇家陵墓。有大臣觉察到了张方的阴谋,提醒惠帝,让他拒绝出城,这条计策因此没有奏效。

软的不行来硬的,建武元年(304)十一月初一,张方带兵闯进宫殿,准备让司马衷坐自己的车子出发。司马衷虽然有些愚钝,但也看出来了这是什么阵势,他快步跑到后花园竹林中躲藏起来,但还是被张方的士兵找到了,惠帝没有办法,只好含泪上了车。张方没有下马,匆匆行了一礼,辩解道:“现在盗贼横行,保护皇宫的力量不足,请陛下跟我到大帐去,我必将誓死保卫您的安全。”

惠帝被挟持到张方营寨。张方命手下将士驾车去皇宫装载后宫佳丽和宝物。士兵们趁机奸污宫女,瓜分财物,把稀奇的帘布和御帐等割下来做马鞍,自曹魏以来宫中积累的宝藏被抢劫一空。张方还准备火烧宫殿和司马家宗庙,中书监卢志劝他:“董卓无道,火烧洛阳,百十年来骂声不绝,您为什么要学他呢?”张方才终于停手。

三天后,张方挟持着司马衷、司马颖、司马炽(司马炎的第十七个儿子)等向长安行进。司徒王戎逃奔至郏县(今河南平顶山市郏县),隔年在郏县去世,年七十一岁。张方部队到达灞上(今陕西西安市东)的时候,司马颙率队声势浩大地过来迎接,进城后,司马颙把自己的征西将军府改作皇宫,让司马衷居住。自此,留在洛阳的尚书仆射荀藩(荀勖的儿子)、司隶校尉刘暾、河南尹周馥组成了留守朝廷,称“东台”,惠帝司马衷所在的长安政府被称为“西台”。

建武元年(304)十二月二十四日,惠帝下令废除司马颖皇太弟身份,改立豫章王司马炽。惠帝兄弟共二十五人,这时除了惠帝自己,在世的只剩下司马颖、司马炽和吴王司马晏了。司马晏资质平庸,但司马炽自幼好学,平时闭门谢客,专心研究典籍,有良好的名声,所以司马颙选他为帝位继承人。又下诏让司空司马越任太傅,与司马颙共同辅政;光禄大夫王衍任尚书左仆射;东中郎将司马模担任宁北将军、都督冀州诸军事,镇守邺城;太宰司马颙兼都督中外诸军事;张方担任中领军、录尚书事,兼任京兆太守。

惠帝改年号为“永兴”,大赦天下,命各州郡取消苛政,抚恤百姓,支持农业,准备待天下太平后就还都洛阳。司马颙希望通过这些诏令化解矛盾,平息各地百姓的愤怒和抵触情绪。

司马越认为任命他为太傅明显是司马颙的主意,因此拒绝接受太傅的职位。