司馬穎這一回志得意滿,突然想起司馬繇曾經勸他出降,於是將司馬繇斬首,並斬滿門。司馬繇的侄子琅琊王司馬睿得到消息,急忙冒大雨逃出城去,又到洛陽悄悄地接了母親夏侯氏,直奔自己的琅琊封國而去。琅琊王司馬睿此時還只是一個小角色,他的父親司馬覲是司馬炎的親弟弟,也是幾個弟弟中最沒地位的一個。夏侯光姬是西晉琅琊王司馬覲的王妃,她與小吏牛金私通生下司馬睿。司馬睿繼承王位之後,由於封國小,地位低,一直只能靠依附其他司馬王族來保證自己的生存,根本不會想到自己還能有什麼大作為。但誰又能想到,若干年後,此人竟然成為東晉的開國皇帝。
司馬越雖然敗得慘痛,實力盡消,但他還有個親弟弟司馬騰在軍事重鎮山西并州(今太原)做寧北將軍、并州都督,手握重兵。還有一個人叫做王浚,為安北將軍、幽州都督,也擁有數十萬邊鎮重兵,此人素來就看不起司馬穎,與司馬穎一直互相防範。王浚還與鮮卑族十分交好,他的長女許配給鮮卑遼西公段務勿塵為妻,二女兒嫁給鮮卑宇文素怒延為妻。
司馬越失敗後,司馬騰約王浚一同起兵報仇,王浚又借了幾萬鮮卑兵,一共聚齊四十萬大軍,直殺向鄴城。
司馬穎知道雙方實力懸殊,對方兵雄將勇,自己根本不是他們的對手,便召集群臣商議。有人說戰,有人說逃,有人說守,但沒有人敢說降,因為曾經說降的司馬繇剛剛被滿門抄斬。正在亂鬨哄的時候,匈奴左賢王、五部大都督劉淵站起來道:「我願說服匈奴部族前來助戰。」司馬穎當即任命劉淵為北單于、參丞相府軍事,立刻回并州借兵,速調五部之眾前來助戰。劉淵剛剛離去,司徒王戎急勸司馬越道:「這個人是人中之傑啊。你放他回去,豈不是縱虎歸山,放龍歸海,恐怕以後你就駕馭不了他了。」這個王戎就是前番跳茅坑保得一命的那個尚書令王戎,此時已經升到司徒之職。
司馬穎反問道:「不放他回去借兵,你還有什麼好辦法么?」
王戎道:「鄴城有十萬兵馬,加上關中河間王做後援,已經足夠了。」
司馬穎知道王戎不懂軍事,也不理他,仍放劉淵歸去。不久,司馬騰的晉軍和王浚遼軍趕到,司馬穎派石超迎敵王浚軍隊,與王浚的前鋒祁弘交戰,結果大敗而歸。又派王粹與司馬騰大戰,結果也敗。
司馬穎後來再派幾名大將去戰,皆連連失敗。司馬穎在鄴城剩下的軍隊聽說晉軍和遼軍還有鮮卑軍兇猛異常,早就沒有了打仗的決心,竟在一夜之間逃得乾乾淨淨。眼看鄴城無法再守,司馬穎只好領著百十名親兵帶著司馬衷匆匆南逃。因為逃得倉促,既沒有帶糧食,也沒有帶錢鈔。走到半路餓了,才發現個個都是窮光蛋。好在還有一個宦官聰明,帶了不少私房錢,司馬穎因此請司馬衷專門下了一道詔書,向這個宦官借錢。皇帝下詔向太監借錢,這在中華歷史上也算是蠍子尾巴———獨(毒)一份了!因為錢太少,捨不得住旅店,只好在外邊露宿。買吃食也是便宜的,只要能管飽就行。幸虧有百姓聽說皇上來了,紛紛獻上吃食,有人騰出房屋,晉惠帝才算是沒受太大的罪。晉惠帝也不白吃白住,但凡吃了人家的住了人家的,便說要免人家的三年賦稅,但晉惠帝自身都難保,這些也只不過是空頭支票而已。
一路倉皇,狼狽萬分,總算來到了洛陽,張方出城將皇帝接入。王浚、司馬騰一路追到城下,見沒有追到皇帝,洛陽又很難攻,便班師而還。王浚還師之前,放假七天,縱兵劫掠,搶劫殺人強姦隨便干。老百姓死傷無數,家財喪盡,恨極了王浚。鮮卑兵則專搶鄴城年輕美貌的婦女。沒想到美女搶到手後,王浚突然下令:「不許帶婦女回家,違令者斬!」於是鮮卑兵就把八千多名被掠的美女全部淹死在易水。
這時劉淵的兒子劉聰帶一萬匈奴精兵趕來,聽說司馬穎已經棄城南逃,只得撤回左國城(今山西離石北)。劉淵這時已經被公推為匈奴大單于,同時還有四部鮮卑前來投奔,手下很快便有了十萬大兵。劉淵早有獨立之心,遂決定以左國城為都,自稱漢氏外甥,建國為「漢」。但並沒有稱帝,只是稱王,仍尊西晉為宗主。這一年為晉建武元年(304)十月,於是大赦,改易正朔,稱為元熙元年。
同在這一年這一月,李雄也統一了四川並稱王。
原來李雄與羅尚在四川相持不下,直到李流病逝羅尚派兵偷襲,反中李雄的埋伏,被打了個落花流水。李雄乘勝攻破成都少城。因成都糧草大都在少城,羅尚在太城無糧為繼,堅持數十日後,便棄城而逃。李雄於是自稱成都王,大赦境內,建元為建興。
李雄、劉淵一南一北同月稱王。那邊晉朝的內亂卻仍未平息,根本顧不上剿滅這兩股勢力。
司馬穎逃到洛陽,因手無兵權,朝政由張方獨攬,司馬顒遙控。司馬穎不過與百官相同,只能對司馬顒唯命是從。想當年司馬穎是何等的雄心壯志,現在卻落得個寄人籬下的下場。
司馬顒本想去洛陽直接掌握朝政,但尚書僕射荀藩認為,不如把晉惠帝帶到自己的長安老巢里更好控制。司馬顒認為有道理,晉惠帝在洛陽,就像塊誰都想吃的大肥肉,這個也征討,那個也攻打,不如放在長安更保險一些。於是命張方遷都長安。
張方遂將文武聚齊各帶家屬,請出司馬衷,一路浩浩蕩蕩向西而去。臨走時照例劫掠一番,皇宮中的寶藏,百姓家中的財產全部劫掠一空。搶到無可搶掠的時候,便把皇宮的幔帳,百姓的被褥都拿出來撕破做馬鞍墊,行軍鞋。張方還想一把火把皇宮燒了,盧志急忙阻攔:「董卓也干過這種事,結果招致天下人的討伐,惡名流傳至今,你可不要學他啊。」張方這才沒有放火燒宮。
因為人多馬少,百官大都步行。時值隆冬,天寒地凍,呵氣為霧,滴水成冰,大臣們凍得是一路走一路跳,很多人凍壞了手腳。司馬衷看在眼裡,十分傷心,對眾人道:「都說我傻,我的確是傻啊。不然怎麼會連累你們受這樣的罪。」一個弱智皇帝能說出這樣的話,眾大臣聽了都淚如雨下。
總算到了長安,司馬顒早安排好了皇宮。司馬衷入宮後按照司馬顒的意思下詔:以司馬顒為中外大都督,張方為中領軍、錄尚書事,兼任京兆太守。一切軍國大政,以司馬顒為主,張方為副。
晉武帝司馬炎共生有二十五個兒子,到現在除了晉惠帝司馬衷,其他人死得只剩下三個人了。三人分別是成都王司馬穎,吳王司馬晏及豫章王司馬熾。司馬穎是個有野心的人,不好控制,當然不能立他為皇太弟。而司馬晏有點愚笨,只比晉惠帝強一點兒。只有司馬熾,論年紀只有二十歲,又沒有任何政治野心,只愛一個人讀書寫字看史書,從不結交外人,很容易控制,又不像司馬晏和晉惠帝那樣愚笨。司馬顒據此立他為皇太弟。司馬穎沒當成皇太弟,在長安待得很沒意思,便以成都王身份帶著大將石超回洛陽整軍,重新積聚實力。
這邊剛安定下來,司馬越便聯合幽州王浚、琅琊王司馬睿,豫州都督、范陽王司馬虓起兵討伐司馬顒。理由是張方無故遷都,挾持皇帝。
司馬顒則以張方為大都督,統兵十萬於灞上;以司馬穎為鎮軍大將軍,屯守洛陽,建武將軍呂朗守滎陽,石超與王粹據河橋;又遣使拜豫州刺史劉喬為假節、鎮東大將軍,命他迎擊山東軍隊。
劉喬率軍一路向東,先克許昌,又設伏打援把帶援兵來救的司馬虓擊敗,司馬越急忙來救,但連戰不克,其手下陳敏見晉室操戈,北劉淵和南李雄已經據地稱王,也有了回老家割據江東的想法,遂借口說回江東徵兵,也一走了之。
陳敏一回到江東便扯起旗來造反,欲割據江東。周處之子周玘和江東世族顧榮等也起兵,不過不是響應陳敏,而是幫助西晉,最後在建康(今江蘇南京)擊敗陳敏,平定了江南。
司馬虓來到鄴城,冀州刺史太原溫羨遂讓出冀州,司馬虓便以此為根據地,一方面募兵,一方面讓手下大將劉琨向王浚借了八百鮮卑突騎。恢複元氣之後,司馬虓派劉琨率精兵,先敗王粹,再敗石超,將二人殺死後再攻滎陽的呂朗。呂朗抵擋不住,稱劉琨的父親被劉喬關在考城。劉琨立刻放棄攻打滎陽,直奔考城,因為城內有劉琨舊部做內應,將劉喬擊敗,攻入城內。
劉琨救了父親,乘勝再追劉喬,追到譙地。正好劉喬剛和司馬越打完一仗,司馬越被打敗,劉喬率軍從後追來。劉琨親自帶兵殺入,一番惡戰,直殺到深夜,劉喬終於抵擋不住,再次敗逃。
前方打得熱鬧,只有張方按兵不動,司馬顒令張方出兵,張方稱:與其出戰,不如守戰。等敵人來到關內,再決一死戰不遲。司馬顒又說乾脆投降算了,張方也不同意。因為張方知道自己是遷都首惡,司馬顒又是人家司馬家族的人,投降後大不了丟了藩地,自己卻百分之百要丟性命。司馬顒很不高興。這時,司馬顒手下的參軍畢垣進言:「殿下,張方眼看著您的軍隊一點點被蠶食,最後只剩下他唯一一支生力軍,這是要謀反獨佔關中的意思啊。」畢