「中原出身の曹操軍は水軍による戦いに慣れておらず、土地の風土に慣れていないので疫病が発生するだろう。それに曹軍の水軍の主力となる荊州の兵や、袁紹を下して編入した河北の兵は、本心から曹操につき従っているわけではないのでまとまりは薄く、勝機はこちらにある」
と分析し、孫権に抗戦を説いた。
『三国志』呉書魯粛伝によると、
魯粛から孫権と同盟を結び曹操と対抗するよう説かれた劉備は、諸葛亮を使者として派遣して孫権と同盟を結んだ。一方、『三国志』蜀書諸葛亮伝によると、諸葛亮が孫権との同盟を献策し、劉表の弔問に来ていた魯粛を伴って孫権と面会した。。
諸葛亮は、「曹操の兵が強行軍で疲弊していること、荊州の人間が曹操に心服していないことを挙げ、関羽が指揮を執る精兵の水軍と劉琦が指揮を執る江夏軍が、孫権軍に協力すれば必ずや曹操を破ることができる」と説いた。
諸葛亮の発言に大いに喜んだ孫権は即座に周瑜、程普らが指揮する水陸二万の兵を派遣し、劉備、周瑜らは併力して疫病に悩まされていた曹操軍を、赤壁・烏林で撃破して敗走させたとされている。
『三国志』魏書武帝紀には、
「公（曹操）は赤壁に到着し、劉備と戦うが、不利だった。疫病が流行して、官吏士卒の多数が亡くなったので、撤退した」
と書かれている。
「公（曹操）は軍船を劉備に焼かれ、華容道を陸路撤退したが、泥道で、倒れた歩兵を踏み越えて騎行したので、死者が多数出た」と書かれている。
『三国志』呉書周瑜伝には、
（周瑜は）「赤壁において遭遇した曹公の軍を劉備の軍と共に逆撃した。この際、軍には疫病が流行っていたため、一戦を交えると敗走し、長江北岸へ引き上げた」と書かれている。。さらに黄蓋の建策による火計と偽降を仕掛け、「油断した曹操兵船に魚油を浸した薪を密かに搭載した小船（走舸）を乗りつけて、同時に発火させたので、強風にあおられて岸辺の陣まで悉く炎上し、焼死・溺死者が広がって（曹操）軍は敗退した。劉備と周瑜が追撃したので、曹公は、曹仁に江陵城で殿軍を命じ北帰した」と書かれている。
『三国志』呉書周瑜伝に裴松之が付注した『江表伝』には、
「時に東南の風が激しく吹き荒れ北船（曹操軍船）を焼き尽くして岸辺の陣営まで延焼させた後に周瑜らは渡渉し陸上から追撃をかけ、北軍は大壊し、曹公は敗走した」と書かれている。
『三国志』蜀書先主伝には、