373年秦取梁、益二州,以杨安镇成都,毛当镇汉中,姚苌镇垫江,王统镇仇池,东晋军退据巴东。
太元元年〔376年〕,孝武帝司马矅开始亲政,谢安升中书监、录尚书事,总揽朝政,陈郡谢氏成为东晋的最后一个“当轴士族”。同年,苻坚统一了中国北方,前秦与东晋的战争已经临近。当时的东晋,长江上游由桓氏掌握,下游则属于谢氏当政,谢安尽力调和桓谢两大家族关系,以为即将爆发的战争作准备。
第一阶段:淮南之战
378年四月,前秦征南大将军苻丕率步骑7万人进攻襄阳。苻坚又另派10万多人,分三路合围襄阳,总计投入兵力就是17万。襄阳守将朱序死守近一年后,于太元四年(379年)二月城破被俘。苻坚又派彭超围攻彭城,秦晋淮南之战爆发。谢安在建康布防,又令谢玄率5万北府兵,自广陵起兵,谢玄4战4胜,全歼敌军。谢安因功封建昌县公,谢玄封东兴县侯。
第二阶段:淝水之战
当时不在秦统辖之内的,只有偏安东南的东晋。苻坚自恃兵力强大,决心灭掉东晋,统一全国。公元383年,他发动了历史上有名的淝水之战。
这时东晋当政的是谢安。谢安颇识大体,使统治阶级关系协和,时人把他比之王导而又“文雅过之”(《晋书·谢安传》)。与之合作者为桓冲:桓冲为中军将军,都督扬、豫、江三州诸军事,扬、豫二州刺史,镇姑孰。桓冲能顾全大局,虽与谢氏有冲突,但能“尽忠王室”,“忠言嘉谋,每尽力心”(《晋书·桓冲传》)、“自以德望不逮谢安,故委以内相,而四方镇捍以为己任”(《晋书·桓冲传》)。谢安、桓冲一在朝廷,一在上游。当时桓、谢两家手里都掌有兵权,两家合作共处,晋廷自南渡以来,难得政治安定。
淝水之战的前夕,东晋以北府兵为主力。北府兵是一支精干强大的军队。北府,指的是京口(今江苏镇江);北方兖州、徐州南来的流民,多集中居住京口、常州一带。东晋朝廷设置了南兖州、南徐州来安置这些侨民。这些来自北方的侨民“人多劲悍”,招募他们为兵,能组成一支劲旅。晋孝武帝太元初,谢玄任兖州刺史,领广陵相,监江北诸军事、谢玄就“多募劲勇,牢之与东海何谦等以骁猛应选。谢玄以刘牢之为参军,领精锐为前锋,“百战百胜,号为北府兵。敌人畏之”(《晋书·刘牢之传》)。
北方流亡到南方的侨民,最初不负担租赋徭役。后米为了整顿户口,使侨民也负担赋役,曾多次实行土断。淝水战前,桓温主政时实行的一次土断,历史上称作庚戌制(因为是在晋哀帝兴宁二年,公元364年,三月庚戌这天施行的),比较彻底,得到“财阜国丰”的效果。后来刘裕实行土断时的上表中称:“大司马桓温,以民无定本,伤治为深,庚戌土断,以一其业。于时财阜国丰,实由于此。”(《宋书·武帝纪中》)可见,从财政上看,淝水之战前也是东晋财力较为充足的时期。
苻坚灭燕以后,没有杀害燕主慕容昧和燕国王公大臣,仍让他们作官,保持着一定的政治地位。他回答苻融说:“今四海事旷,兆庶未宁,黎元应抚,夷狄应和,方将混六合以一家,同有形于赤子,汝其息之,勿怀耿介”(《晋书·苻坚载记》)。这些话表达了苻坚作为一个政治家的豁达的气度,但这些想法在当时却是不现实的。那时,被征服的各族的贵族是不会满足于现有地位的。对于这一点,苻坚是没有考虑的,后来在战争中他就吃了这个亏。
晋孝武帝太和八年(383)五月,桓冲倾十万荆州兵伐秦,以牵制秦军,减轻其对下游的压力。七月,苻坚下诏、大举攻晋。民每十丁抽出一丁当兵。良家子年二十以下有材勇者,皆拜羽林郎。八月,以苻融为前锋都督,指挥慕容垂等步骑二十五万先行,苻坚随后继发,共有戎卒六十余万及骑兵二十七万,旗鼓相望,队伍绵延千里。九月,苻坚到达项城,而凉州之兵刚到咸阳,蜀汉之兵在此时方顺流而下,冀之兵至于彭城,队伍水陆齐进。运粮的船只数以万计,自河经石门,汴水、蒗薚渠前往汝颍。苻融则率兵三十万,先到颍口(今安徽颍上东南,颍水入淮处)。
东晋以谢石为征讨大都督,谢玄为前锋都督,与将军谢琰,桓伊等率众八万,以北府兵为主力,北上抗击秦军。
十月,秦军渡过淮水,攻陷寿阳(今安徽寿县)。晋朝派去援助寿阳的胡彬水军,听闻寿阳失陷,退守硖石。苻融命将军梁成帅大军五万进攻洛涧,载断淮水通路,意在截断胡彬的退路,也使晋军不得从淮水水路西进。谢玄大军自东而西推进,在到达洛涧以东二十五里处停止前进。胡彬派人给谢玄送信说:“今贼盛,粮尽,恐不复见大军。”(《资治通鉴》卷一○五晋孝武帝太元八年,下同)送信人被秦军捉去。苻融赶快送信给苻坚说:“贼少易擒,但恐逃去,宜速赴之。”苻坚见信,留大军于项城,带轻骑八千,赶到寿阳。
苻坚派朱序去晋军大营,劝说谢石投降。朱序原是东晋襄阳太守,到了晋营,不但不劝说谢石投降,反给谢石划策,说:“若秦百万之众尽至,诚难与为敌。今乘诸军未集,宜速击之。若败其前锋,则彼已夺气,可遂破也。”
十一月,谢玄遣刘牢之帅精兵五千人赴洛涧。梁成隔洛涧布阵以待。刘牢之渡水进击,大破梁成军,杀了梁成。秦步骑崩溃,争赴淮水,士卒死者一万五千人。于是谢石大军,水路俱进,迫临淝水。苻坚和苻融登寿阳城东望,见晋军布阵严整,又望八公山上草木,皆以为晋兵。苻坚开始有惧色,回头对苻融说:“此亦劲旅,何谓弱也!”
秦军紧靠着淝水西岸布阵,晋军进到淝水东岸,与秦军隔水相峙。谢玄派人对苻融说:“君悬军深入,而置阵逼水,此乃持久之计,非欲速战者也。若移阵少却,使晋兵得渡,以决胜负,不亦善乎!”秦的将军们都说:“我众彼寡,不如遏之,使不得上,可以万全。”苻坚说:“但引兵少却,使之半渡。我以铁骑蹙而杀之,蔑不胜矣。”苻融也同意这个主意。苻融指挥军队稍退。
哪知大军一退,便收不住了。谢玄等领晋军渡水,冲杀过来。苻融想拦阻退兵,不想马倒,死在乱兵之中。朱序又乘机在阵后大呼:“秦军败矣!”苻融一死,秦军已慌,又听得秦军已败,一发不可收拾。晋军从后追杀,直追出三十多里。秦军自相蹈藉而死者,蔽野塞川。逃奔的兵卒,闻风声鹤唳,皆以为晋兵且至,昼夜不敢息,重以“饥冻,死者什七八”。晋军收复寿阳。苻坚中流矢,只带领少数人退回淮北。
淝水之战,以秦军的大败结束。