官渡之战,是东汉末年“三大战役”之一,也是中国历史上著名的以弱胜强的战役之一。东汉献帝建安五年(200年),曹操军与袁绍军相持于官渡(今河南中牟东北),在此展开战略决战。曹操奇袭袁军在乌巢的粮仓(今河南封丘西),继而击溃袁军主力。此战奠定了曹操统一中国北方的基础。
东汉末年,轰轰烈烈的黄巾起义虽然被镇压下去了,但它却沉重地打击了汉朝地主阶级的统治,使早已腐朽不堪的东汉政权分崩离析,名存实亡。在镇压黄巾起义的过程中,各地州郡大吏独揽军政大权,地主豪强也纷纷组织“部曲”(私人武装),占据地盘, 形成大大小小的割据势力,转入争权夺利、互相兼并的长期战争,造成中原地区“白骨露于野、千里无鸡鸣”的凄惨景象。当时的割据势力:主要有河北的袁绍、河内的张杨、兖豫的曹操、徐州的吕布、扬州的袁术、江东的孙策、荆州的刘表、幽州的公孙瓒、南阳的张绣等。形成群雄并起的局面,在这些割据势力的连年征战中,袁绍、曹操两大集团逐步壮大起来。
公元196年(建安元年),曹操迎献帝,迁都许县,自始挟天子以令诸侯(“奉天子而征四方”),威势大增。他先后击败吕布、袁术,占据了兖州、徐州以及部分豫州、司隶。
公元199年(建安四年),袁绍最终战胜公孙瓒,据幽州、冀州、青州、并州,尽有河北之地,意欲南向以争天下。这样,华北最重要的两个政治军事集团,决战势所难免。起初形势袁强曹弱。袁绍已无后顾之忧,地广人众,可动员的兵力在十万以上。
曹操则是处于四战之地,除了北方的袁绍,关中诸将尚在观望,南边刘表、张绣不肯降服,东南孙策蠢蠢欲动,暂时依附的刘备也是貌合神离。尽管如此,当时的一些有识之士,包括曹操的谋士荀彧、郭嘉,还在张绣麾下的贾诩,以及凉州从事杨阜,在综合分析了曹、袁的优劣后,认为袁绍外宽内忌,好谋无决,他们都看好曹操,认为局势会向着有利于曹的方向变化。公元198年(建安三年)十月,河内郡太守张杨欲出军救援吕布时却为部下杨丑所杀,曹操解除进攻徐州吕布的后顾之忧,十一月,吕布被曹操消灭;公元199年(建安四年),张杨旧部眭固杀杨丑,欲北投袁绍,曹操派史涣、曹仁击破眭固,取得河内郡,把势力范围扩张到黄河以北 ,六月,袁术病死,十一月张绣投降曹操 。刘表坐观成败 ,孙策保守江东。局势变得更加明朗。
公元199年(建安四年)六月,袁绍挑选精兵十万,战马万匹,企图南下进攻许都,官渡之战的序幕由此拉开。
袁绍举兵南下的消息传到许都,曹操部将多认为袁军强大不可敌。但曹操却根据他对袁绍的了解,认为袁绍志大才疏,胆略不足,刻薄寡恩,刚愎自用,兵多而指挥不明,将骄而政令不一,于是决定以所能集中的数万兵力抗击袁绍的进攻。为争取战略上的主动,他作出如下部署:派臧霸率精兵自琅玡(今山东临沂北)入青州,占领齐(今山东临淄)、北海(今山东昌乐)、东安(今山东沂水县)等地,牵制袁绍,巩固右翼,防止袁军从东面袭击许都;曹操率兵进据冀州黎阳(今河南浚县东,黄河北岸),令于禁率步骑二千屯守黄河南岸的重要渡口延津(今河南延津北),协助扼守白马(今河南滑县东,黄河南岸)的东郡太守刘延,阻滞袁军渡河和长驱南下,同时以主力在官渡(今河南中牟东北)一带筑垒固守,以阻挡袁绍从正面进攻;派人镇抚关中,拉拢凉州,以稳定翼侧。从以上部署看,曹操所采取的战略方针,不是分兵把守黄河南岸,而是集中兵力,扼守要隘,重点设防,以逸待劳,后发制人。从当时情势而言,这种部署是得当的。首先,袁绍兵多而曹操兵少,千里黄河多处可渡,如分兵把守则防不胜防,不仅难以阻止袁军南下,且使自己本已处于劣势的兵力更加分散。其次,官渡地处鸿沟上游,濒临汴水。鸿沟运河西连虎牢、巩、洛要隘,东下淮泗,为许都北、东之屏障,是袁绍夺取许都的要津和必争之地。加上官渡靠近许都,后勤补给也较袁军方便。
公元199年(建安四年)十二月,当曹操正部署对袁绍作战时,刘备起兵反曹,占领下邳,屯据沛县(今江苏沛县)。刘备军增至数万人,并与袁绍联系,打算合力攻曹。曹操为保持许昌与青、兖二州的联系,避免两面作战,于次年二月亲自率精兵东击刘备,迅速占领沛县,转而进攻下邳,迫降关羽。刘备全军溃败,只身逃往河北投奔袁绍。当曹、刘作战正酣之时,袁绍谋士田丰建议袁绍“举军而袭其后”,但袁绍以幼子有病为辞拒绝采纳,致使曹操从容击败刘备回军官渡 。
公元200年(建安五年)正月,袁绍派陈琳书写檄文并发布,檄文中把曹操骂得无法忍受。二月进军黎阳,企图渡河寻求与曹军主力决战。他首先派颜良进攻白马的东郡太守刘延,企图夺取黄河南岸要点,以保障主力渡河。四月,曹操为争取主动,求得初战的胜利,亲自率兵北上解救白马之围。此时谋士荀攸认为袁绍兵多,建议声东击西,分散其兵力,先引兵至延津,伪装渡河攻袁绍后方,使袁绍分兵向西,然后遣轻骑迅速袭击进攻白马的袁军,攻其不备,定可击败颜良。曹操采纳了这一建议,袁绍果然分兵延津。曹操乃乘机率轻骑,派张辽、关羽为前锋,急趋白马。关羽迅速迫近颜良军,冲进万军之中杀死颜良并斩首而还,袁军溃败。曹操解了白马之围后,迁徙白马的百姓沿黄河向西撤退 。袁绍率军渡河追击,军至延津南,派大将文丑与刘备继续率兵追击曹军,曹操当时只有骑兵六百,驻于南阪(在白马南)下,而袁军达五六千骑,尚有步兵在后跟进。曹操令士卒解鞍放马,并故意将辎重丢弃道旁。袁军一见果然中计,纷纷争抢财物。曹操突然发起攻击,终于击败袁军,杀了文丑(文丑为乱军所杀,并不是关羽斩杀),顺利退回官渡。颜良、文丑都是河北名将,却被一战而斩,袁绍军队的锐气被挫伤 。