当初,荆州刺史殷仲堪、江州刺史桓玄和雍州刺史杨佺期虽然缔结了盟约,但彼此间的关系十分脆弱,各怀心事。殷仲堪和杨佺期结成亲家,联合制约桓玄。朝廷为了分化他们,加任桓玄为都督荆州四郡军事,又让桓玄的哥哥桓伟顶替了杨佺期的哥哥杨广的位置,做了南蛮校尉。杨佺期压不住火,要起兵攻打桓玄,被殷仲堪制止了。
不久,荆州发大水,殷仲堪为人宅心仁厚,命令打开官仓,赈济灾民,这本是好意,但造成了仓库的空虚。桓玄得到消息,对殷仲堪发起大规模进攻,殷仲堪不敌,向杨佺期求救,杨佺期率军前来救援,结果被桓玄打败,杨佺期和杨广被杀。殷仲堪恐惧,准备逃往后秦,但被桓玄的人马追上,被逼自杀。
桓玄消灭了殷仲堪和杨佺期后声威大震,他向朝廷上书,要求统管江州和荆州,朝廷任命桓玄为都督荆、司、雍、秦、梁、益、宁七州诸军事,兼荆州刺史,任命中护军桓脩为江州刺史。桓玄坚持要管理江州,朝廷又加任桓玄为都督江州及扬州、豫州等八郡诸军事,兼江州刺史。桓玄建议任命哥哥桓伟为雍州刺史,朝廷批准。桓玄又任命侄儿桓振为淮南太守。桓玄统管了东晋近三分之二的地盘,他野心勃勃,不把朝廷放在眼里。
司马元显接受谋士张法顺的建议,准备趁桓玄在荆州立足未稳讨伐他。元兴元年(402)正月一日,东晋朝廷下诏,公布桓玄的种种罪状,任命尚书令司马元显为骠骑大将军、征讨大都督、都督十八州诸军事、假黄钺,镇北将军兼兖、青二州刺史刘牢之为前锋都督,前将军谯王司马尚之为后卫,共同讨伐桓玄。
桓玄针锋相对,也公布了司马元显的各种罪名,顺长江东下,起兵讨伐司马元显。司马元显害怕桓玄,迟迟不肯出发。
二月二十八日,桓玄率军抵达姑孰(今安徽当涂县),武都郡太守杨秋临阵投降桓玄,谯王司马尚之大败,被生擒。
前锋刘牢之这时候思想上斗争激烈,他素来讨厌司马元显专横,怕消灭了桓玄后,司马元显更加不可一世,但又怕消灭桓玄后,自己功高被嫉恨。他还准备借桓玄之手铲除朝中权臣,然后自己再起兵消灭桓玄,掌握朝中大权,所以他对讨伐桓玄一事并不尽心。
刘牢之率军到溧州驻扎,参军刘裕请命,要求进攻桓玄,刘牢之不准。桓玄派刘牢之的堂舅何穆游说刘牢之道:“兔死狗烹,越国的文种、秦国的白起、汉朝的韩信都没有落下好下场。如果您能改变心意,支持桓玄将军,他可以确保您的荣华富贵。”刘牢之听从了何穆的劝告,与桓玄之间建立了联系。刘牢之的儿子刘敬宣、外甥何无忌和刘裕一起劝他讨伐桓玄,刘牢之不听,说道:“你们说的道理我都知道,消灭桓玄也易如反掌,问题是消灭了他之后,我怎么对付司马元显?”刘牢之派刘敬宣去投降桓玄,桓玄任命刘敬宣为咨议参军。
司马元显已经登上战船准备出发了,听说桓玄的军队已经到达新亭,便立即弃船,到宣阳门列阵。这时候,桓玄的先头敢死队已经到了城外,他们高声喊喝:“放下武器,饶尔等不死!”司马元显的属下本来就被吓破了胆。桓玄是谁?那可是桓温的儿子,老子英雄儿好汉!他们惧怕桓玄的名头,无心恋战,纷纷丢下武器逃窜。司马元显成了孤家寡人,骑马找他父亲司马道子去了,他的谋士张法顺还不错,没有抛弃他,在后面紧跟。司马道子这时候也是六神无主,父子两人抱头痛哭。
桓玄生擒了这对父子,派毛泰把司马元显押到新亭,把他绑到船头,指着他数落个没完,司马元显这时候还想找替罪羊,坚持说自己是被属下迷惑了。
三月四日,桓玄进入京师建康,朝廷任命他为都督中外诸军事、丞相、录尚书事、扬州牧,兼任徐、荆、江三州刺史,假黄钺——反正这时候朝廷也是桓玄的了,他随便想当什么就当什么吧,没人反对。桓玄任命桓伟为荆州刺史,桓谦为尚书左仆射,桓脩为徐、兖二州刺史,桓石生为江州刺史,卞范之(桓玄手下的重要谋士)为丹阳尹,王谧(王导的孙子,曾经救过刘裕的命)为中书令。
司马道子已经严重酒精中毒,几乎成了一个废人,桓玄放了他一条生路,把他贬到安城郡,但斩了司马元显和他的儿子司马彦璋,以及司马休之、庾楷、张法顺、毛泰等人。
桓玄任命刘牢之为征东将军、会稽太守,这是把刘牢之调离了大本营。刘牢之叹息道:“这才刚刚开始,就要夺取我的兵马,看来大祸就要临头了。”刘敬宣从京师回到京口,劝刘牢之起兵攻打桓玄,刘牢之犹豫不定,只是把部队前移到了班渎。
刘牢之问刘裕道:“我想和驻守广陵的高雅之合兵一处,起兵讨伐桓玄,你认为怎么样?”刘裕皱皱眉,回答道:“将军当时拥有几万精兵,却投靠了桓玄,如今桓玄有天子在手,我们又怎么能成功?我要恢复百姓身份,回京口去了,将军保重。”
何无忌问刘裕道:“我该怎么办?”刘裕回答道:“你舅舅在劫难逃,你随我回京口去吧,我们回头再想办法对付桓玄。”
刘牢之召集将军、幕僚开会,宣布让大家准备进攻桓玄。参军刘袭说道:“您反王恭,反司马元显,又反桓玄,谁还敢相信您,跟随您呢?”说完后,就大步流星走了出去,其他人也大都走出大门。
刘牢之让刘敬宣去京口接家眷,但刘敬宣不知道怎么就耽搁了,到了约定日期刘敬宣还没有到,刘牢之以为事情已经泄露,家眷已经被杀,就带领数人向北逃走。到了新洲后,刘牢之思来想去,精神恍惚想不开,找了个地方上吊自杀了。不多久,刘敬宣带着家眷赶到,见父亲不在,也不敢停留,投奔广陵而去。刘牢之的部属把他的尸首装殓起来,送回老家丹徒。桓玄得到消息,下令劈开棺木,把刘牢之的人头砍下,把尸体扔到大街上,任由百姓参观。一代名将竟落得如此下场!
东晋大赦,桓玄改任太尉、都督中外诸军事、扬州牧、豫州刺史,总领百官。他任命琅琊王司马德文为太宰。
四月,桓玄学起了他的父亲桓温,出京师到姑孰驻扎,但朝中大事还是要向他请示以后才能施行,小事则由尚书令桓谦和丹阳尹卞范之商量决定。
桓玄又杀死了吴兴太守高素、将军竺谦之以及竺谦之的堂兄竺朗之、刘袭和刘袭的弟弟刘季武,这些人过去都是北府军的将领,是刘牢之的部将。刘袭的哥哥冀州刺史刘轨邀请司马休之、刘敬宣、高雅之等人讨伐桓玄,但屡次战败,刘轨、司马休之、刘敬宣等人投降了南燕,袁虔之、刘寿、高长庆、郭恭等人投降了后秦。
桓玄派御史杜林到安城郡毒死了司马道子(年三十九)。
桓玄命堂兄桓脩以抚军将军的身份镇守丹徒,任命刘裕为抚军中兵参军。这时候,孙恩的妹夫卢循又带人来攻打东阳郡,刘裕率军迎击,卢循败退永嘉郡。
元兴三年(403)二月,朝廷任命桓玄为大司马。桓玄越发跋扈,又斩冀州刺史孙无终——孙无终也为刘牢之手下大将,北府军的昔日将领。荆州刺史桓伟去世,桓玄任命桓石康(桓温三弟桓豁的儿子)为荆州刺史。
侍中殷仲文和散骑常侍卞范之秘密撰写了加九锡和禅让的诏书,劝桓玄早登大位,桓玄同意了。元兴三年(403)九月十六日,司马德宗下诏,任命桓玄为相国,总领文武百官,封楚王,采邑十个郡,加九锡。
桓谦问刘裕道:“楚王功高盖世,朝廷应该举行禅让大典,你怎么看?”刘裕想让他们自己作死,就说道:“楚王是南郡公的儿子,民心所向,没什么不行的。”桓谦大喜道:“你说行,那就行。”
因为民间有“湖水干枯天下乱,湖水满盈天下平”的说法,桓玄的人就造谣说钱塘临平湖满盈了,又说江州降下了甘露,其实是在为桓玄的篡位制造声势。因为之前改朝换代大都有隐士出现,桓玄也不想例外,就命人在境内遍寻高士,终于找到了西晋时期的隐士皇甫谧(前文讲过的针灸鼻祖)的第六世孙皇甫希之。桓玄给他重金,让他隐居到山中,然后再让朝廷派人去请。皇甫希之故作推辞,被反复请了几次,终于出山,朝廷就下诏称皇甫希之为“高士”。
十一月二十一日,司马德宗命人宣读禅让诏书,派太保兼司徒王谧把传国玉玺进献给了楚王桓玄。司马德宗生活都不能自理,自然安排不来这些事,这都是桓玄背后的指使。司马德宗搬出皇宫,到永安宫居住。
十二月一日,桓玄命人在姑孰南边的九井台修筑高台,工程进度很快,三日高台建成,桓玄登上高台,正式登基称帝,完成了他父亲桓温想干但没有干成的事。他尊父亲桓温为宣武皇帝,尊他母亲司马兴男为宣皇后,封刘氏为皇后,然后封司马德宗为平固王,司马德文为石阳县公。
十二月九日,文武百官簇拥着桓玄进入建康。登上了皇帝宝座,桓玄非常高兴,不自觉地用力往宝座上一坐,座位竟然陷了下去。文武百官顿时大惊失色,还是殷仲文反应快,他朗声道:“陛下德行深厚,连大地都难以承载!”桓玄一听,大喜,这个插曲就这么化解过去了。
十二月二十二日,桓玄把司马德宗迁到了寻阳。