秦王苻坚(氐族所建前秦国的皇帝)颁布诏令大举入侵(东晋),百姓每十个年轻人中抽调一人当兵;家世清白而有一定财产的民间地主子弟,有才干而勇武的人,(朝廷)都授予他们羽林郎的职务。诏书中又说:"(胜利后)朝廷任命东晋孝武帝司马昌明任尚书左仆射,谢安任吏部尚书,桓冲任侍中;依情势看,我国出征凯旋还师,为时不远,可以事先(派定东晋皇帝和大臣归降后的官职)为他们修建府第。"民间富家子弟前来效命的有三万多人马,任命秦州主簿赵盛之担任少年都统。这时,朝廷的大臣都不希望苻坚采取这样的行动,只有慕容垂、姚苌以及民间富家子弟支持他(这样做)。阳平公苻融对苻坚说:"鲜卑(指慕容垂),羌虏(指姚苌),是我们的仇敌(此二人之国都被苻坚所灭,他们虽然臣服于秦,但心怀仇怨),总想着发生变故来实现他们复仇的志向,他们所陈述的策略,怎么可以听从呢!。良家少年都是富贵子弟,不懂军事,只是说些谄媚的话来迎合陛下的心意罢了。"如果陛下轻信并重用他们,轻率采取重大行动,我担心既不能成功,又会有后患,后悔就来不及了!"苻坚不听他的劝谏。
八月,戊午日这天,苻坚派遣阳平公苻融统领张蚝、慕容垂等的二十五万步兵骑兵为前锋;任命兖州刺史姚苌担任龙骧将军,统领益州、梁州各方面的军事。苻坚对姚苌说:"过去我担任龙骧将军而开创基业,从来不轻易把这个职位授给别人,你可要自勉啊!"左将军窦冲说:"君王说话都不是开玩笑,这是不祥的征兆啊!"苻坚沉默不语。
东晋下诏任命尚书仆射谢石(谢安之弟)担任征虏将军、征讨大都督,任命徐州、兖州的刺史谢玄(谢安侄儿)担任前锋都督,与辅国将军谢琰、西中郎将桓伊等各部总共八万人马抵御苻坚;派龙骧将军胡彬率领五千水军增援寿阳。谢琰,是谢安的儿子。
慕容楷、慕容绍(两人都是慕容垂的侄子)对慕容垂说:"苻坚骄傲自大太过分了,叔父建立复兴的大业,就在这次行动了!"慕容垂说:"对。要不是你们,我与谁一块成就大事呢!"
甲子日,苻坚从长安出兵,步兵六十余万,骑兵二十七万,旗鼓遥遥相望,前后长达千里。九月,苻坚到达项城,凉州的军队才到达咸阳,蜀、汉的军队正顺流而下,幽州、冀州的军队到达彭城,东西相连长达万里,水陆大军一齐进发,运输船只多达万艘。阳平公苻融等率兵三十万,先到达颍口。
(晋武帝)下诏以尚书仆射谢石为征虏将军、征讨大都督,以徐、兖二州刺史谢玄为前锋都督,与辅国将军谢琰、西中郎将桓伊等众人共领八万将士抵挡前秦军;派遣龙骧将军胡彬以水军五千增援寿阳。谢琰,谢安的儿子。这时,前秦兵力已经很强盛,东晋朝廷上下震惊恐慌。谢玄进来,向谢安问计,谢安神色平静,回答说:"朝廷已经另有打算。"然后就不说话了。谢玄不敢再说什么,就让张玄再次去询问。谢安于是命令车驾山林别墅去游赏,亲朋全都来了,谢安与张玄下围棋用别墅作赌注。谢安的棋艺通在张玄之下,这天,张玄(对前秦大兵犯境)有畏惧情绪,就使谢安成了他的敌手而不能取胜。谢安(下完棋后)于是登高游览,直到夜里才回来。桓冲深为京城安危而忧虑,派三千精锐士兵前来保卫京师;谢安坚决地拒绝了,说:"朝廷谋划已定,兵力和装备都不缺,你镇守的荆州是京师建康西边的屏障,应该留下这些精锐部队作为防备。"桓冲对辅佐的官吏感叹曰:"谢安石有执掌朝政的才能和度量,(但他)不懂得用兵的韬略。如今大敌就要到了,他还不停地外出游玩闲谈,派几个没有经历过大事的孩子抵御敌军,兵力又少又弱,东晋的命运已可想而知,我们这些人将臣服于前秦氐族人的统治了!"(注:古代北方游牧民族都披发左衽,而中原华夏民族则束发右衽。桓冲在这里借用典故,意指东晋将会战败。)
太元八年,冬,十月,前秦的阳平公苻融等攻打寿阳。癸酉日这天,攻下寿阳,活捉了东晋的平虏将军徐元喜等人。苻融让参军河南人郭褒担任淮南太守。慕容垂攻克了郧城。胡彬听说寿阳被攻陷,退守硖石,苻融率军进攻。前秦的卫将军梁成等人率领五万人马在洛涧驻扎,在淮水边设置栅栏来阻挡东晋的军队。谢石、谢玄等在距离洛涧二十五里的地方驻军,因害怕梁成的军队而不敢前进。胡彬粮草用尽,暗中派使者报告谢石等人说:"如今敌人强盛而我方没有粮草,恐怕再也见不到东晋的大军了!"前秦士兵抓住了这个使者,把他送交阳平公苻融。苻融派人骑马向秦王苻坚报告说:"敌人兵力少很容易擒获,只是担心他们逃跑,应该赶快前去攻打!"苻坚于是把大军留在项城,带领轻装的八千骑兵,昼夜行军在寿阳与苻融会合。苻坚派尚书朱序(东晋大臣,兵败被俘降前秦,淝水战后,复归东晋)来劝说谢石等人,认为:"强弱之势不同,不如赶快投降。"朱序私下对谢石等人说:"如果前秦的百万大军全部来到,你们实在难以与他们为敌。如今乘各路大军还没有到齐,应该尽快攻击他们;如果打败他的前锋,就削弱了他们的士气,可以就此彻底打败他们。"
谢石听说苻坚在寿阳,很害怕,想不交战而使秦军疲乏力衰。谢琰劝谢石听从朱序的建议。十一月,谢玄派广陵相刘牢之率领精兵五千人奔赴洛涧,离洛涧不到十里,梁成抢先占据洛河,布成阵势,等待刘牢之。刘牢之径直前进渡过涧水,攻击梁成,打败了他们,将梁成和弋阳太守王咏斩首,又分兵阻断他们归去的渡口,秦的步兵骑兵溃不成军,士兵争先恐后地逃进淮水,死亡的士卒有一万五千人。抓住秦的扬州刺史王显等人,全部收缴他们的器械等各种军用物资。于是谢石的各路大军,水陆两路同时进发。秦王苻坚与阳平公苻融登上寿阳城望去。只见晋兵阵容严整,又望见八公山上的草木,以为都是埋伏在那里的晋兵,回头对苻融说:"这样的军队也是劲敌,怎么能说他们弱小呢!"怅然失意,这才有了害怕的神色。
秦兵紧靠着淝水列阵,晋兵不能渡河。谢玄派使者对阳平公苻融说:"你孤军深入,却把阵势摆在淝水边,这是持久的打算,而不是想速战速决。如果把你们的阵势移动一下稍稍退却,让晋兵渡过淝水,来决一胜负,不是很好吗!"秦的众位将领都说:"我军人多他们人少,不如阻挡他们,使他们不能渡河,可以万无一失。"苻坚说:"只须带兵稍稍后退,让他们渡到一半时,我们用铁骑践踏而杀死他们,这样没有不能取胜的!"苻融也认为对,于是指挥军队稍稍退后。秦兵于是开始后退,(这一退)无法停下来。谢玄、谢琰、桓伊等率兵渡过淝水攻击秦军。苻融骑马奔驰压阵,想以此阻挡退却的士兵,但马倒地,他被晋兵杀死,秦军于是溃败。谢玄等人乘胜追击,追到青冈。秦兵大败,自相踩踏而死的士兵,躺满原野塞满河川。那些逃跑的士兵听到风吹的声音和鹤叫声,都以为晋兵就要追来,昼夜不敢停,在草丛里行军在野外住宿,再加上又冷又饿,死的人十分之七、八。刚开始,秦兵稍稍退却时,朱序在阵后大声唿叫说:"秦兵败了!"士兵们于是狂奔逃命。朱序趁机与张天锡、徐元喜都(向东晋的大军)奔来。缴获秦王苻坚乘坐的云母车。又攻下了寿阳,活捉淮南太守郭褒。
苻坚被流矢射中,单骑逃到至淮北,饿极了,有个百姓给他进献稀饭和煮熟的猪腿,苻坚吃完,赏赐他帛十匹、绵十斤。那位百姓推辞说:"陛下害怕艰苦享受安乐,自己陷入危困的局面。臣是陛下的儿子,陛下是臣的父亲,哪里有儿子给自己的父亲吃饭而求回报的呢!"(对帛、绵等)不看一眼就离开了。苻坚对张夫人(苻坚的宠姬)说:"我如今还有何面目治理天下啊!"悲伤地流下了眼泪。
这时,各路军队都溃败了,只有慕容垂率领的三万人马得以保全,苻坚率领千余人马到他那里去。世子宝(慕容垂第四子)对慕容垂说:"咱们的家国倾覆了,天命人心都归于我们的君主,但时机和运气还没有到来,所以我们晦暂时把自己的锋芒隐藏起来。如今秦主苻坚兵败,他把他自身交给我们,这是上天借给我们这个便利来恢复燕国的国运,这个时机不能失去,希望你不要因为苻坚对你的微小恩惠而忘记国家大事!"慕容垂说:"你们说的很对。但他凭一颗诚心来投奔我,怎么能害他呢!上天如果抛弃他,何必担心他不灭亡?不如保护他,在他危难时用美德报答他,慢慢等待时机再谋划这件事!(这样)既不辜负他一向对我们的好心,而且可以凭大义取得天下。"奋威将军慕容德说:"秦强大的时候吞并了燕国,秦衰弱了我们攻取他,这是为国家报仇雪耻,不是辜负他的好心;兄长为什么可以得到却不攻取,放下(兵权)把数万人马交给别人呢?"
慕容垂说:"我过去被太傅慕容评不容,无处安身,为逃命来到前秦,秦的国君把我当国士对待,恩惠礼遇都很周到。后来又被王勐出卖,无法表明自己的清白,秦主苻坚却能明察,这样的大恩怎么能够忘记呢!如果(不这样做)我们氐族命运必定更加衰弱,我一定以怀柔之策招集关东兵民,来复兴氐族先前的大业,而关西应该不是我们所有的。"冠军行参军赵秋说:"明公应当复兴燕国的国运,在图谶(古代巫师、方士制作的一种验证吉凶的图苻)上已经显示出征兆;如今天时已经来到,还等待什么呢!如果杀了秦主,占据邺都,向西进军,三秦之地也不是苻坚所有的了"!慕容垂的亲党大多劝说慕容垂杀掉苻坚,慕容垂都没有听从,把全部兵马都交给了苻坚。平南将军慕容暐屯兵郧城,听说苻坚被打败,把他的部众抛下不管自己逃跑了;到了荥阳,慕容德又劝说慕容暐起兵来复兴燕国,慕容暐不听。
谢安收到驿马送来的战报,知道秦兵已经被打败,当时他正与客人下围棋,收起书信放在坐榻上,脸上没有一点喜悦的神情,仍像原先那样下围棋。客问他,他从容地回答说:"孩儿们已经如愿把秦兵打败了。"下完棋,他回内室,过门槛时(难以控制内心的喜悦而步履不稳),不知不觉间竟折断了屐齿。