西晉在經歷過綿延十六年的“八王之亂”的硬傷後,已然是奄奄一息。而北方的匈奴劉淵稱雄一方,時時威脅着這個苟延殘喘的沒落王朝。
劉淵去世前,漢還一時滅不了晉,但西晉已是苟延殘喘來日不多了。劉淵去世後,在劉和、劉聰爭奪帝位時,洛陽因受東、南兩面合擊形勢有了很大的變化,已經變成了一座危城。
永嘉四年(310年)春天,王彌的部將曹嶷從大梁東進打破東平(今屬山東),進攻琅邪(今山東臨沂北);石勒在白馬津(在今河南滑縣東北)渡河而南,與王彌會師後,又攻略徐、豫、兗三州轄境,先破鄄城(今山東鄄城北),後殺晉兗州刺史袁孚,再渡河而北,攻略冀州各郡。
此時洛陽以東的大部地區已是殘破不堪。青州刺史苟晞和豫州刺史馮嵩雖有相當實力,但與在洛陽當權的東海王越不和,不敢輕動。苟晞還面臨日益迫近的曹嶷,因此更不可能發兵去支援洛陽。
同時,在洛陽之南,又發生新的變亂。朝廷要使南陽的雍州流民回鄉,流民因關中殘破,不願回去,政府遂定下限期,發兵遣送,這就犯了與益州羅尚同樣的大錯。京兆人王如、侯脱和馮翊人嚴嶷,分別聚眾反抗,起兵攻打城鎮,殺死地方官吏,到這年秋天,這幾支兵已各有數萬之眾。
至此,洛陽已是四面受敵。十月,漢劉粲、劉曜、王彌、石勒聯軍攻晉。洛陽以西的澠池,東北的成皋,以及今豫東南的梁、陳、汝、穎一帶,都是狼煙四起,戰事不斷。
京師洛陽城內糧食匱乏,人心浮動,加以太傅東海王司馬越大權獨攬,懷帝的親信繆播、舅父王延等都於上年被他擅自殺死,內部很不團結。懷帝號為君主,卻受制於人,毫無作為,形同亡國之君。
但司馬越猜忌苟晞、馮嵩,不願採用。他也曾遣使徵各地兵馬入援京師。懷帝還叮囑使者,要他告訴各地守臣、將領,現在還可來救,再晚就等不及了!説得悽楚哀憐,窘相畢現,這樣的人居然也算是皇帝!
根據記載,當時只有兩人願意赴難效命。一個是襄陽山簡(竹林七賢之一的山濤之子),但他派出的兵到襄陽以北的涅陽就被流民武裝王如擊潰。山簡非但救不了洛陽,還得閉上城門,抵禦王如,繼而丟棄襄陽退到夏口(今湖北武漢黃鵠山東北)。
另一位是荊州王澄,他派的兵出發不久,聽得山簡兵敗,就不戰自潰,逃之夭夭。他們勢孤力單,都自顧不暇,哪裏能夠救得了洛陽。
司馬越困守洛陽,已到無法堅持的地步。十一月,他率兵四萬往許昌,聲稱討伐石勒,使太尉王衍任軍司同行。這一走之後,洛陽城裏一天比一天混亂,官署沒有人守衞,殿上橫七豎八的屍體也沒有人去埋葬;有留守之職的人,離開不得,也都掘壕溝築工事,以求自保。
司馬越的人馬行到項地(今河南沈丘)便不走了。轉瞬就到永嘉五年(311年),形勢愈加嚴峻。懷帝懷恨司馬越,便親手寫了詔書,秘密派人送交青州刺史苟晞,要他討伐東海王。
司馬越抓到了苟晞的密使,也看到了檄文,又見石勒重兵日益逼近,因而懼恨成病,終於在三月十九日一命歸天。之後王衍要領兵送他的靈柩回東海(今山東郯城),洛陽的王妃、世子及將領何倫等也都要隨行同往。城中居民大起恐慌,紛紛跟着逃難,洛陽更亂了。
石勒得訊,率領輕騎追擊,四月在苦縣寧平城(今河南鄲城東北寧平)趕上,大破晉軍。這實際上不成其為戰鬥,晉軍這路人馬約有十多萬,但其中包括眾多眷屬、隨從,他們根本沒有應戰能力。被漢兵遠遠圍住,遭亂箭射殺,屍陳如山,一個也沒有走脱。
王衍等十幾名權貴都被俘抓獲。其中,除襄陽王司馬範一人神色自若,拒不提死外,其餘各人都紛紛哀求,乞憐保命。結果,當天夜裏,都被石勒命人推倒牆頭壓死。從洛陽逃出的何倫等,後也被石部截住,東海王世子等都死在亂軍之中,王妃裴氏被擄去賣掉,後來不知怎麼到了江東才又恢復原來的身份。
這時還在洛陽的懷帝再也呆不下去了。苟晞派兵五百到洛陽,要接皇帝到倉垣(今河南開封東北)。懷帝想走,公卿左右卻留戀家財,結果沒有走成。後來實在無法支持,但要走時,卻又沒有車子,懷帝只得徒步出宮,跟隨的官員也僅有幾十個人。
他們剛走到銅駝街(因街上有魏明帝時立的兩座銅駝得名),遇盜匪搶劫,只得退身返回。皇帝竟在京城裏碰到強盜搶劫,這應該算是空前絕後的奇聞。
漢將呼延晏、劉曜、王彌、石勒各部,於此時紛紛進抵洛陽。六月十一日,漢軍打開城南的宣陽門進入城內。軍隊把宮裏的珍寶、宮人搶得一乾二淨。懷帝嚇得躲到華林園(東漢時造的園,原名芳林,魏改名)裏,逃出園門時,仍被抓住,從此做了俘虜。
劉曜霸佔了司馬衷的第二任皇后羊後,又一把火燒掉洛陽宮室,把懷帝解到平陽。洛陽宮中珍寶,張方曾搶光過一次,這是第二次。上次因有盧志勸阻,沒有放火,這次盧志也在洛陽,但他只能出逃幷州,再也無法保住洛陽的宮室街巷了。這是繼漢末董卓之後,洛陽遭受的第二次大破壞。
漢劉粲、劉曜西進關中,至八月便佔領長安,俘獲了晉南陽王司馬模。不久,劉粲即將司馬模處死。其時關中荒蕪,士民即使不亡於兵燹,也多死於饑饉,活者寥寥無幾。
西晉幾乎亡了,但仍在苟延殘喘。當時,懷帝的另一侄子,一個十二歲的秦王司馬鄴,他在洛陽陷落時逃了出來,後來跑到密縣(今河南密縣東南),遇到舅父司空荀藩。恰好前豫州刺史天水人閻鼎在此已糾集數千流民,正想西回故鄉。司馬鄴與荀藩就利用這支武裝,暫時立住了腳跟。
這時,關中的形勢起了變化。原馮翊太守索綝等人,在安定(今甘肅鎮原東南)已推舉安定太守賈疋為平西將軍,要起兵興復晉室,關中未曾失守的一些地方官長也紛紛起而響應。劉粲、劉曜與他們交戰竟一連吃了幾次敗仗,長安被圍。由此,秦王司馬鄴得到了在關中立國的機會。
荀藩等人都是來自今山東、河南一帶的人,他們跟隨司馬鄴,只想在中原尋求立足之地。閻鼎勢力強大,他本來要回西北,得知關中形勢有變,認為有機可乘,便拿下武關(在今陝西丹鳳東南),控制了司馬鄴。荀藩等人不願遠離故土,只得沿路逃散。
司馬鄴在閻鼎掌握之中,當然只能跟着他走。賈疋得訊,即派兵迎接。十二月,司馬鄴到了雍城(今陝西鳳翔西南),暫時安頓下來。
賈疋等又圍攻長安,到永嘉六年(312年)四月,已歷時好幾個月。漢劉曜堅守不住,終於棄城逃還平陽,司馬鄴隨即進入長安。九月初三,賈疋等奉他做皇太子。此前的幾個月,想必是在醖釀這個班子怎麼搭法。
閻鼎、賈疋、索綝等人原來不是一夥人,只在共同對敵時能夠合作,一且“功成”,就鬧起糾紛來了。先是賈疋與漢將彭天護作戰,中計被殺。接着,閻鼎又與原來的關中諸將爭權。至十二月,閻鼎殺京兆太守梁綜,於是麴允、索綝等羣起攻之,閻鼎兵敗逃走,也被殺死。
永嘉七年(313年)四月,懷帝在平陽遇害的凶訊傳到長安。二十七日,皇太子司馬鄴即皇帝位,改元建興,是為愍帝,也就是西晉的最後一個皇帝。
劉聰原來對當了俘虜的懷帝還算可以,先封他為平阿公,後又改封為會稽郡公,兩人也常談早年在洛陽相識的舊事。“聰引帝入宴,謂帝曰:‘卿為豫章王時,朕嘗與王武子相造,武子示朕於卿,卿言聞其名久矣。以卿所制樂府歌示朕,謂朕曰:“聞君善為辭賦,試為看之。”朕時與武子俱為《盛德頌》,卿稱善者久之。又引朕射於皇堂,朕得十二籌,卿與武子俱得九籌,卿贈朕柘弓、銀研,卿頗憶否?’帝曰:‘臣安敢忘之,但恨爾日不早識龍顏。’聰曰:‘卿家骨肉相殘,何其甚也?’帝曰:‘此殆非人事,皇天之意也。大漢將應乾受歷,故為陛下自相驅除。且臣家若能奉武皇之業,九族敦睦,陛下何由得之!’至日夕乃出,以小劉貴人賜帝,謂帝曰:‘?此名公之孫,今特以相妻,卿宜善遇之。’”
其時劉聰大宴羣臣,命懷帝青衣行酒。青衣是賤人的服色,行酒是侍者的活計,在座的許多晉朝舊臣見了,都痛心之至,其中庾珉、王雋等十幾人還當場忍不住流下淚來。劉聰見了,大為不滿。不久,有人告發庾珉等私通晉陽劉琨,劉聰就以此為藉口把庾珉等十幾人,連同懷帝一道,都給殺了,劉夫人則回到宮裏,依舊做她的小劉貴人。懷帝只活到了三十歲。
建興元年(313年)五月,愍帝發佈詔書,聲稱要“掃除鯨鯢,奉迎梓宮”,命幽(王浚)、並(劉琨)兩州出兵三十萬直取平陽,右丞相(南陽王司馬保,司馬模之子)率兵三十萬來長安,左丞相(琅邪王司馬睿,即後之東晉元帝)率兵二十萬進攻洛陽。
這道詔書口氣大得不得了,實際上是虛張聲勢。而這幾個人,王浚想乘危割據;劉琨靠鮮卑部落才能勉強立腳;江東、上邽(司馬保駐地,今甘肅天水)力量薄弱,他們都不可能有所作為。
這時,只有避亂南渡的范陽遒縣(今河北淶水北)人祖逖向琅邪王請纓北伐。琅邪王給他一千人的糧和三千匹布,讓他自己招兵。他率領部曲(私兵)百餘家渡江,中流擊楫立誓:“祖逖不能清中原而復濟者,有如大江!”他進屯淮陰,招募了二千餘人,步步北進。
這個“中流擊楫”的故事被後人傳為佳話,祖逖也確實對石勒起了牽制或威懾的作用,然而要扭轉大局,已是不可能了。
在愍帝誇張的口氣下,真實的情況卻是:作為當年西漢故都的長安城裏,荊棘雜草密密叢叢,居民不滿百户,車駕只有四乘,百官連印都已失落。但是麴允、索琳等人,卻仍多次擊退劉曜的進攻,艱難堅持了三年有餘。
十一月十一日,愍帝依照傳統的國君投降儀式,乘羊車,肉袒(去袖,露出左臂)、銜璧(以口銜璧)、輿櫬(車子上裝着棺木)出城投降。劉聰也照傳統做法,焚棺受璧,准予投降。西晉至此滅亡。
愍帝君臣被解到平陽。劉聰封愍帝為懷安侯。麴允伏地痛哭,被囚自殺。索綝也因不忠被殺。愍帝只做了一年的懷安侯便被殺了。“劉聰出獵,令帝行車騎將軍,戎服執戟為導,百姓聚而觀之,故老或歔欷流涕,聰聞而惡之。聰後因大會,使帝行酒洗爵,反而更衣,又使帝執蓋,晉臣在坐者多失聲而泣,尚書郎辛賓抱帝慟哭,為聰所害。”漢太子劉粲就主張把他殺掉以除後患。幾天之後,愍帝也終於遇害,時年僅十八歲。懷、愍二帝屈辱行酒,與後來北宋徽、欽被虜囚死異鄉的悲劇,都是為歷來讀史人所難以忘卻的。