第二次合肥戰役的背景是曹操南征孫權不成,班師前只留張遼、李典、樂進與七千多人防守合肥。其後第二年,孫劉在荊州火拼,曹操乘機佔領了漢中。劉備妥協後送給孫權三郡,自己率軍回師同曹操爭奪漢中。孫權在同劉備合解之後,也趕緊班師,集中10萬人企圖吃掉合肥守軍。
曹操對此早有防備,在出徵張魯前,曹操派護軍薛悌送函到合肥,命令張遼只有在孫權率軍攻打時才準開啟。孫權見曹操在漢中,未能及時回到東邊,便親自率十萬人出征合肥。
張遼和樂進李典素有矛盾,在孫權進攻前夕,張遼開啟曹操送來的函件,曹操叮囑,如若孫權軍來到,張遼和李典應出城迎戰,樂進率軍守城,至於護軍薛悌則不要出戰。
魏軍才七千人,吳軍十萬,雙方兵力懸殊,各將都對此指示感到疑惑。張遼認為曹操正率軍在外作戰,等他率領的援軍到達時,孫權軍必定已攻破我們。所以教函要我們在敵軍集結完畢前反過來攻擊他們,先挫折敵人的氣勢,以安定軍心,然後可以順利守城。成敗之機,就在此一戰,各位有何疑惑?李典對張遼的想法比較認同。
李典張遼都是勇將,於是他們連夜募集勇士,一共得到了八百人,張遼下令殺牛犒賞軍士,準備明日大戰,吳軍士氣高昂。天亮時,張遼被甲持戟,率先發動攻擊,魏軍雖少,但全是騎兵,吳軍雖多,但多為步兵,騎兵機動性好,殺了就走,吳軍怎麼都圍不住八百魏兵。
張遼殺入吳軍大營後,他一個人就殺死吳兵數十人,斬大將二人,在突擊的過程中張遼大呼自己的名字,讓東吳軍馬徹底記得了名字。
衝入大營後,張遼望見孫權帥旗,發了瘋的殺過去,吳軍宋謙、徐盛兩部都抵擋不住,吳軍從來沒見過這麼能衝能砍的人,慌忙之下士兵全部潰散,紛紛向後逃,幸虧潘璋在後督戰,見吳軍敗退,急忙馳馬追上,在亂軍斬殺二個逃兵,士兵見此,都回頭再戰,將張遼擋在孫權營前。
孫權見情形如此緊張,急忙登上附近的山頂,拿著長戟自守。吳軍將張遼擋在山下,張遼衝不上山去,便在山下大罵孫權,企圖激怒孫權下山迎戰,孫權不是孫策,沒有自己哥哥動輒就單挑的膽量。不過孫權眼睛還算不錯,心理也過硬,雖然性命危急,但還是清醒的看見張遼只帶了幾百人,於是下令讓軍士將張遼八百軍團團圍住。
張遼的坐騎體格比較好,打了半天沒有累,帶著張遼從亂軍中衝了出去。有幾十個魏軍見張遼衝出,紛紛高呼將軍難道要拋棄我們了嗎?張遼見壯又再度衝進包圍網,從吳軍中衝出一個口子,救出了被圍的幾個人,餘部幾百人全部退入合肥城。
經此一戰,吳軍被嚇破了膽,本來還指望十萬人打七千人能佔點便宜,結果這仗之後吳軍士氣全失,頓失銳氣。孫權只能下令全軍修整守備,合肥城內的曹軍也有了準備的時間。魏軍死守合肥,孫權輕鬆率軍圍住了合肥。但是吳軍連續攻打了十多日,遇到守軍的死守,吳軍死傷慘重,恰逢當時淮南疫疾流行,吳軍病死不少。孫權不得以,只能命大軍班師,而他自己則莫名其妙的帶著一千虎士和淩統、甘寧、呂蒙、蔣欽幾員大將斷後。
吳軍從逍遙津北撤退,張遼在合肥城上看到吳軍主力撤退,乘機率軍追擊圍住了孫權。孫軍一千人頓時混亂,孫權被圍後淩統親率三百近兵衝入重圍,甘寧在外圍引弓射擊,呂蒙、蔣欽率幾百人死戰擋住魏軍。淩統一陣拼殺,終於救出孫權,淩統讓孫權一個人先走,他自己回頭再戰抵擋魏軍。但孫權在逃跑的路途中碰到被自己人毀掉的橋,橋板被拆,孫權過不去,魏軍殺到,