由於前秦軍緊逼淝水西岸布陣,晉軍無法渡河,隻能隔岸對峙。謝玄就派使者去見苻融,用激將法欺騙他說:“將軍率軍深入晉地,卻緊逼河岸布陣,這難道是想決戰嗎?如果你把陣地稍向後退,空出一塊地方,讓我軍渡過淝水,雙方一決勝負如何!”前秦軍諸將都表示反對,但苻堅認為可以將計就計,讓軍隊稍向後退,待晉軍半渡過河時,再以騎兵衝殺,這樣就可以取得勝利。苻融對苻堅的計劃也表示讚同,於是就答應了謝玄的要求,指揮前秦軍後撤。哪知前秦兵士氣低落,一後撤就失去控製,陣勢大亂。謝玄率領8000多騎兵,趁勢搶渡淝水,向前秦軍猛攻。朱序又在前秦軍陣後大叫:“秦兵敗了!秦兵敗了!”前秦兵信以為真,於是轉身競相奔逃。苻融眼見大勢不妙,急忙騎馬前去阻止,以圖穩住陣腳,不料戰馬被亂兵衝倒,被晉軍追兵殺死。失去主將的前秦兵越發混亂,徹底崩潰。前鋒的潰敗,引起後續部隊的驚恐,也隨之潰逃,形成連鎖反應,結果全軍潰逃,向北敗退。前秦軍潰兵沿途不敢停留,聽到風聲鶴唳,都以為是晉軍追來。晉軍乘勝追擊,一直到達壽陽附近的青岡。前秦兵人馬相踏而死的,滿山遍野,充塞大河。苻堅本人也中箭負傷,單槍匹馬逃回洛陽。
晉軍收複壽陽,謝石和謝玄派飛馬往建康報捷。當時謝安正跟客人在家下棋。他看完了謝石送來的捷報,不露聲色,隨手把捷報放在旁邊,照樣下棋。客人知道是前方送來的戰報,忍不住問謝安:“戰況怎樣?”謝安慢吞吞地說:“孩子們到底把秦人打敗了。”客人聽了,高興得不想再下棋,想趕快把這個好消息告訴別人,就告別走了。謝安送走客人,回到內宅去,他的興奮心情再也按捺不住,跨過門檻的時候,踉踉蹌蹌的,把腳上木屐的齒都碰斷了。
淝水之戰,前秦軍被殲和逃散的共有70多萬。隻有鮮卑慕容垂部的3萬人馬尚完整無損。苻堅統一南北的希望徹底破滅,不僅如此,北方暫時統一的局麵也隨之解體,再次分裂成更多的地方民族政權,鮮卑族的慕容垂和羌族的姚萇等勢力重新崛起,各自建立了新的國家,苻堅本人也在兩年後被姚萇俘殺,前秦隨之滅亡。此戰的勝利者東晉王朝雖無力恢複全中國的統治權,但卻有效地遏製了北方少數民族的南下侵擾,為江南地區社會經濟的恢複和發展創造了條件。淝水之戰也成為以少勝多的著名戰例,載入軍事史,對後世兵家的戰爭觀念和決戰思想產生著久遠影響。