曹操率领着号称八十万的大军(实际只有二十多万),自江陵(今湖北省江陵县)沿江东下,直逼夏口。刘备的情况十分危急,他派了诸葛亮到江东去联合孙权,共同抗曹。
孙权和刘表原来也有矛盾,只是这时见到曹操势盛,如果荆州真为曹兵占据,江东也就很难保全,鉴于这种形势,他同意了诸葛亮的意见,答应派大将周瑜、程普等人率军三万与刘备联合,共同抵抗曹兵。
曹操的大军自江陵顺流而下,舳舻(指船)千里,旌旗蔽空,声势十分浩大。曹操自以为在军事上占绝对优势,打败刘备乃至孙权,是不成问题的。官渡之战的胜利,刘琮的乞降,使得他变得骄傲起来。他不再能冷静地考虑双方的有利和不利条件。事实上,这时曹操的军队虽有二十多万,可是其中就有七八万人(主要是水军,是作战的主力)是刚刚投降过来尚怀疑惧的荆州水兵,而从北方来的兵士由于远来疲敝、不服水土,生病的很多。再加上刘琮初降,荆州民心未定,后方很不稳固。所以尽管曹操善于用兵,也并不是有全胜的把握的。
曹操的军队和孙、刘联军在赤壁(今湖北省嘉鱼县东北)相遇。曹操鉴于北方军队不惯水战,下令用铁索把战舰连锁在一起,以便兵士在船上行走如履平地,这就给了孙、刘联军采用火攻的机会。一天夜里,东南风大起,周瑜的部将黄盖假称投降曹操,带了一艘艨艟(méng chōng,古代的一种战船)斗舰,里面满载着灌了油的柴草,顺着风势直向曹营驶去。在离曹营不远处,船上一齐燃起火来,迅疾地向曹操的水军船舰冲去,火烈风猛,霎时间,曹军船舰就被延烧起来。那些船舰因有铁索连锁,仓促间无法拆开,一时烈焰冲天,曹操的水寨化成了火海。一会儿工夫,曹操的岸上营寨,也被延烧着了。曹军人马烧死溺死的不可胜计。孙、刘联军分水、陆两路乘势进击,曹操损失惨重。