苻坚派尚书朱序(之前投降前秦的晋将)去说降谢石等人,让朱序告诉他们:“强弱异势,不如速降。”朱序私底下对谢石等人说:“如果秦兵百万之众全部抵达,确实难以与他们为敌。如今,乘他们各路大军尚未抵达集结,应火速攻击;如果击败其前锋,则可夺他士气,最终可以击破他们。”谢石听闻苻坚在寿阳,非常惧怕,想要按兵不战,跟前秦军对峙,比其锐气,等他自己惰怠。谢琰劝谢石听朱序的意见。
十一月,谢玄派广陵相刘牢之率精兵五千人直奔洛涧,离洛涧还有十里,梁成在洛涧对岸列陈以待。刘牢之直接上前渡水,攻击梁成,大破前秦军,斩梁成及弋阳太守王,又分兵截断前秦军撤退的渡口,前秦军步骑崩溃,争赴淮水,士卒死者一万五千人。抓获前秦扬州刺史王显等,缴获全部器械和军事物资。于是谢石等诸军水陆继进。前秦王苻坚与阳平公苻融登寿阳城瞭望,只见晋兵部阵严整,又望见八公山上草木,以为都是晋兵,苻坚回头对苻融说:“这也是劲敌啊!怎么说他们很弱呢!”这时候,他怅然若失,脸上开始有惧色。
前秦兵在淝水岸边列阵,晋兵不得渡河。谢玄遣使对阳平公苻融说:“君悬军深入,却逼近水边列阵,这是准备打持久,不是要和我速战速决。如果你稍微退一退,让晋兵得以渡河,以决胜负,不亦善乎!”前秦诸将都说:“我众彼寡,不如在岸边拦住他,让他不能上岸,可以万全。”苻坚说:“我们可以引兵稍微退却,等他们渡河渡到一半,然后我以铁骑冲上去杀他们,没有不胜的!”苻融也以为然,于是指挥部队后退。前秦兵一退,就没法再指挥他们停止,谢玄、谢琰、桓伊等引兵渡水攻击。苻融驰马来回穿梭,想要指挥部队,战马摔倒,为晋兵所杀,前秦兵于是崩溃。谢玄等乘胜追击,一直追到青冈。前秦兵大败,相互踩踏而死者,遍布原野,阻塞河川。逃跑的人听到刮风的声音和鹤的鸣叫,都以为晋兵到了,昼夜不敢停息,草行露宿,加上饥冻,死者达七八成。