曹操虽然在白马、延津两战中获胜,却没有改变劣势的处境。袁绍仍有近十万大军,曹操只有三四万人,而且袁军供给充足,曹军粮食不足。因此,袁绍不顾两大战败,仍继续前进。当年7月,袁绍率军到达官渡以北的阳武,安营扎寨,准备进攻。9月,曹军出击未能获胜,曹操便改变战术,筑起深沟高垒,固守阵地,拒不出战。两军相持几个月,仍无结果。
这时,曹操军中粮食将尽,想退守许都。他写信给留在许都的谋士荀彧商量计策。荀彧认为,两军对垒,先退者势屈,劝曹操坚守下去,寻找战机。他还认为,袁绍兵力虽强,但不会用兵。曹操接受了这个建议。一日,曹操从一个俘虏口中得知,有勇无谋的袁军将领韩猛正押运一队粮食前往官渡,立即派人截击粮队,烧毁了几千辆运粮车和大批物资。10月,袁军又运去一万多车粮食,屯集在官渡东北的乌巢。袁绍虽然派了一万人去护卫,但并未采取进一步的防范措施。
为打破两军对峙的僵持局面,袁绍的另一位谋士许攸建议,趁曹操的主力部队集结官渡,许都空虚之机,派一支轻骑走小路夜袭许都,如能成功,占领许都,得到汉献帝,曹操必然坚持不下去;如果攻不下许都,也可以迫使曹操回援,使其疲于奔命。但袁绍自认为实力强大,不把曹操放在眼里,拒不采纳这个建议。许攸感到袁绍如此自大,不懂战术,必定被曹操所败。恰在这时,许攸的家人犯法被袁绍手下的人拘捕。许攸一怒之下,投奔曹操。这时,曹军粮食只够用一个月了,曹操正为此发愁,听说许攸投奔而来,非常高兴,来不及穿鞋便跑出去迎接。许攸告诉曹操,袁军在乌巢囤积大批粮食,劝曹操偷袭。曹操立即带五千精兵,装扮成袁军,每人带一把干柴,趁夜色抄小路前去袭击。曹军顺利到达乌巢,点燃粮屯。袁军守将淳于琼大惊失色,但又不敢迎战,直到天明,见曹军人数不多,才敢出击,结果大败而回。袁绍远在40里外的武阳,也看见乌巢起火,知道是曹操进攻乌巢的粮屯。但他不但不派兵援救,反而认为这是袭击官渡、歼灭曹军主力的大好机会,于是派军队连夜攻打官渡。曹营坚固,袁军久攻不下。这时,曹操在乌巢打败了淳于琼,焚毁了一万多车粮食,回师官渡。带领袁军攻打官渡的张命见败局已定,向曹操投降。乌巢粮屯遭袭击被烧毁的消息传到袁营,营内顿时大乱。曹操乘势率军出击。袁军未战先乱,不敌曹军的进攻。袁绍在慌乱中带八百骑兵向北逃走。袁军失去统帅,四散逃亡,七万多士兵投降曹操后被杀。
官渡决战,曹操以劣势之师打败袁绍,奠定了统一北方的基础。
曹操(公元155—220年),即魏武帝。三国时政治家、军事家,诗人。字孟德,小名阿瞒,谯(今安徽亳县人)。东汉末年,在镇压黄巾起义中,逐步扩充军事力量。初平三年(公元192年)占据兖州,分化、诱降青州黄巾军的一部分,编为“青州兵”。建安元年(公元196年)迎献帝,都许昌(今河南许昌东),挟天子以令诸侯,先后削平吕布等割据势力。官渡之战大破军阀袁绍后,逐渐统一了中国北部。建安十三年,进位为丞相,率军南下,被孙权和刘备的联军击败于赤壁。后封魏王。子曹丕称帝,曹操被追尊为武帝。