度陷入混亂。司馬曜在親政的同年八月,冊立了他的皇后王法慧。王法慧是太守王蘊的女兒,比司馬曜大三歲。當初議立皇后的時候,大家一致認為王家名聲好,養出來的女兒也一定性情柔順、四德俱全、可以母儀天下。然而這位王皇后卻讓所有的人都大失所望,她不但驕奢悍妒,而且還嗜酒,行為粗魯,舉止不端,尤其擅長借酒裝瘋,鬧得司馬曜的後宮雞犬不寧。司馬曜十分苦惱,只好向岳父王蘊求助,將自己的遭遇如此這般加以控訴一番。王蘊惶恐,也過意不去,摘下帽子向女婿皇帝賠禮道歉,此後王法慧略有收斂。5年之後,21歲的王皇后病逝,諡號“定皇后”,葬於隆平陵。18歲的孝武帝總算恢復了自由。
孝武帝司馬曜,是東晉王朝比較有作為的皇帝。在他稱帝的24年裡,晉王朝多少出現了一些振興之象,還曾經創造了軍事史上的奇蹟“淝水之戰”。太元八年(383年),前秦苻堅“帥眾渡淮,(司馬曜)遣征討都督謝石、冠軍將軍謝玄、輔國將軍謝琰、西中郎將桓伊等距之。”“諸將及苻堅戰於肥水,大破之,俘斬數萬計,獲堅輿輦(車駕,多為天子所乘)及雲母車(帝后所乘)。”
淝水之戰是中國歷史上著名的戰役,發生在東晉太元八年(383年)8月至12月。前秦苻堅下詔,大舉攻晉,試圖滅之,於是淝水大戰爆發。苻堅親率步兵60萬、騎兵27萬、羽林郎(禁衛軍)3萬,共90萬大軍從長安南下,綿延數千裡,水陸齊進,僅運糧船隻就有萬艘。同時,苻堅又命梓潼太守裴元略率水師7萬從巴蜀順流東下,向建康進軍。苻堅驕狂地宣稱:“以吾之眾旅,投鞭於江,足斷其流。”這就是著名典故“投鞭斷流”的來歷。東晉北上抗擊秦軍的總共兵力才8萬,在宰相謝安的主持下,以謝石為大都督,謝玄為前鋒,主力軍隊就是聞名天下的北府兵。東晉建都建康(今南京),軍府設在建康之北的廣陵(今江蘇揚州市),故稱軍府曰北府。
當時秦軍前鋒苻堅之弟苻融兵30萬首先到達潁口(今安徽潁上縣),秦軍初戰告捷,苻融攻佔了壽陽(今安徽壽縣),與此同時,秦軍慕容垂部攻佔了鄖城((今湖北鄖縣)。而且截斷了東晉派來救援軍胡彬的退路,將其團團包圍在硤石(今安徽鳳台西南)。苻融趕快送信給苻堅說:“敵人少而且易捕獲,就是擔心逃跑了,請趕快派大軍過來。”苻堅見信大喜,滅東晉心切,留大軍於項城,帶輕騎八千趕到壽陽。這時候無論是苻堅或者是苻融都認為東晉已是刀翥之肉,於是派出原東晉太守朱序去勸降。朱序原是東晉襄陽守將,公元378年,苻堅派出大軍圍攻襄陽城,朱序頑強抵抗堅守了一年,朱序多次出城作戰,屢破秦軍。後來朱序部將李伯護秘密派其子送信秦軍,願做內應。苻堅派兵加緊攻城。城破後,苻堅沒有殺他,反留在身邊重用。
朱序到了謝玄營中,將秦軍部署完全和盤托出。並建議,趁秦軍未完全集結,迅速出擊。謝石本來是打算堅守不戰,聽了朱序的話後,便改變了作戰方針,決定主動出擊。11月,謝玄派劉牢之率精兵五千到洛澗(在今安徽淮南東),秦將梁成率部5萬隔洛澗佈陣以待。劉牢之以兵五千就敢強渡洛水,去攻擊對手的5萬人馬,而秦軍也居然被殺得大敗,被斬殺一萬五千人,秦大將梁成也被劉牢之突入陣內一槊刺死。這場戰役下來,秦軍有10多個將領被殺。
洛澗大捷後,令晉軍信心倍增。謝石繼續揮軍水陸並進,直抵淝水(今安徽壽縣南瓦埠湖一帶)東岸,在八公山邊紮下大營,與壽陽的秦軍隔岸對峙。由於秦軍緊逼淝水西岸佈陣,扼守著淝水,晉軍無法渡河。雙方力量對比懸殊,又不容許晉軍曠日*地打消耗戰,等到秦軍九十萬大軍都雲集過來,這仗就不好打了。此時,謝玄派使者去見苻融,要求秦軍把陣地稍向後退,空出一塊地方,好讓雙方一決勝負。苻堅認為讓軍隊稍向後退,待晉軍半渡過河時,再以騎兵衝殺,這樣就可以取得勝利。苻融對苻堅的計劃也表示贊同,於是就答應了謝玄的要求,指揮秦軍後撤。這本來是一次正常的戰術退卻,但秦兵士氣低落,結果一後撤就失去控制,陣勢大亂。謝玄率領八千多騎兵,趁勢搶渡淝水,向秦軍猛攻。朱序這時在陣後乘勢喊叫:“秦軍敗了!秦軍敗了!”秦軍有很多是強徵入伍的,而且由多個民族組成,各懷鬼胎,人心本來就不穩。加之剛吃了落澗慘敗,朱序這一喊,以為真的敗了,越發惶亂,爭相逃命,導致幾十萬軍隊象山崩了一樣丟盔棄甲的大潰逃。謝玄等乘勝追擊,直至青岡(今壽陽西30裡)。秦軍聞風聲鶴唳,皆以為晉軍追至,因而草行露宿,不敢停息。此時,苻