周瑜的分析振奮了孫權,他用刀砍去奏案的一角,警告勸降的臣下說,誰再敢說降曹,下場和這個桌子一樣。接著,孫權任命周瑜、程普為左、右都督,分領大軍逆流西上,和劉備並力,迎擊曹軍。
在樊口(今湖北鄂城附近),周瑜所率的江東水師與劉備的軍隊會合。孫劉聯軍合計5萬人左右。
曹軍船艫相接,浩浩蕩蕩,順流而下。在赤壁(今湖北武昌縣西赤磯山),曹軍和孫劉聯軍相遇。周瑜的推測成為事實,疫疾已在曹軍中流行,生病的人很多,戰鬥力大受影響。結果兩軍交鋒,曹軍初戰失利。曹操將大軍退到江北的烏林(今湖北洪湖縣東北),上岸安營紮寨,與進逼而來的聯軍隔江對峙。
兩軍僵持的局麵對人孤力單的聯軍不利。周瑜的部將黃蓋建議說,敵眾我寡,不宜在這裏同敵人持久消耗。曹操針對北方軍士不習水戰的缺陷,采用方連戰艦、首尾相接的方式進行補救,這樣就為我們提供了可以用火攻打敗他的機會。周瑜采納了黃蓋的建議。
黃蓋按照與周瑜製訂的計策,寫信給曹操表示願意歸降。曹操沒有識破這是詐降計,答應接受黃蓋。黃蓋預先在幾十艘小船上塞滿薪柴,灌上魚膏,外麵用帷幕、旌旗遮掩。然後,他選擇了一個東南風猛烈的夜晚,率領著船隊向江北衝去。在離北軍兩裏的水麵上,黃蓋命令各船同時點火。火猛風烈,船行如箭。曹軍以為是投降,沒有防備,結果小船點燃了他們的戰艦。刹那間大火騰空而起,火舌向對岸舔去,很快延至曹軍的營壘。江北頓時陷入一片火海之中,曹軍將士亂作一團,被燒死、淹死者難計其數。曹操猝不及防,無心迎敵,索性命人把未點燃的戰船和不便帶走的軍需付之一炬,帶著殘部向北敗逃。聯軍在劉備、周瑜的帶領下,水陸並進,一直追到南郡。曹操不願在荊州久留,就認命曹仁把守江陵,自己撤回北方區了。
赤壁一戰,曹軍損失慘重,死亡的人數超過一半。戰死之外,還有大批將士因饑餓、疫疾而喪命。戰爭的勝利,加強了孫氏政權在江東地區割據的地位,劉備也乘機向江南發展勢力。他表奏劉琦為荊州刺史,又南征武陵、長沙、桂陽、零陵,這四郡的太守先後投降。劉備因此占據了荊州的江南部分,形成三國鼎立的局麵。
赤壁之戰慘敗後,曹操轉而采取穩定自己後方的戰略,不敢輕易南下。建安二十五年(公元220年)正月,曹操病逝。曹丕繼位為魏王。十月,曹丕逼漢獻帝退位,代漢稱帝,曹魏建立。