汉献帝建安五年(公元200年),袁绍命沮授带领10万人马进攻曹操的都城许昌。而袁绍自己则带领大队人马进军黎阳,派大将郭图、颜良进攻白马,在白马大败曹军。
白马告急,荀攸对曹操说:“袁军人马充足,我们兵力与之相差甚远,不可硬拼,我们声东击西,派一部分人马伪装渡河,好像要攻击袁绍后方,袁绍必然会向西进军,渡过大河,到时候我们再突袭白马。”
曹操依计而行,袁绍果然中计。袁军渡过大河,曹操则带领众多骁将,攻打白马。关羽连斩颜良、文丑两员大将,袁军大败,解了白马之围。
袁绍虽然大败,但兵力仍占优势。他再次集中兵力,行进到官渡。两军在官渡安营扎寨,准备一场大战。
面对袁军的进攻,曹操手下谋士意见不一。有的谋士对曹操说:“丞相,袁绍拥有百万大军,虽然白马之战有所损伤,但主力军仍在,而且手下有大将一、两千人,我们与之相差悬殊,如果和他们硬拼,只能大败!不如我们求和,还可以保住一块地盘,到时候再积蓄力量,东山再起。”
曹操没有说话,谋士郭嘉提出反对意见,说道:“丞相,兵不在多,而在于精。袁绍军队虽多,但他们军纪不严,赏罚不明,军心涣散。我们兵力虽少,但军纪严明,作战勇猛,在军力上不会输给他。而且袁绍老贼不得民心、贪图小利、妄自尊大、妒贤嫉能、优柔寡断、刚愎自用,他手下虽有大将一、二千,但却是英雄无用武之地啊!丞相,您广纳贤士,爱惜人才,智勇双全,很得人心,虽战将几百,但却众志成城,我们凭借着这些优势一定能够大败袁军。”
曹操很满意地点了点头,立即下令,进军官渡。
两军相峙了一段时间,袁军主动出击,结果曹军不是对手,退回营中,只守不攻。
袁绍一见曹军不出战,便命士兵爬上土山,向曹营射箭,箭似雨点,射死射伤曹兵无数。曹操和一大将刘晔连夜制造了千辆石车,石车上装满石头,一端固定住弹性的皮条,另一端放上石头,能弹得很远。刘晔带领着几千人,埋伏在小山周围。袁绍的射手刚想射箭,刘晔一声令下,顿时石块乱飞,袁兵死伤无数,大败而归。
时间一长,曹操有些坚持不住,因为粮草线已被袁绍切断。为了能够长期作战,曹操派大将徐晃消灭了袁绍断粮道的队伍,从此粮道顺畅。徐晃还活捉了几名袁军将领,审讯中得知韩猛正押运粮草,远道而来。
荀攸对曹操说:“丞相,韩猛有勇无谋,我们应出兵去截下粮草,将其烧毁,这样袁绍大军就会出现粮草危机。”
曹操立即派徐晃去截粮草。韩猛正押运着粮草赶路,徐晃大喝一声,立即杀入袁军中,而张迈也在后边呼应,前后夹击。韩猛乃一酒囊饭袋,没有一会儿,便逃跑了。士兵一看主帅都跑了,也四散逃窜,曹军放火烧了袁绍的粮草及车辆。
但袁绍依仗自己兵多粮足,仍不把曹操放在眼里。他再派淳于琼带领一万精兵押运粮草,屯放在大北营的乌巢,并驻扎在那里负责守粮。
谋士许攸对袁绍说:“主公,军队若无粮草,会自败,那淳于琼生性好酒,而且一喝必醉,派他守粮,有些不妥啊!”
袁绍刚愎自用,根本不把许攸的话放在心上。许攸知道袁绍难成大事,一气之下投奔了曹操。
曹操知道许攸是位才子,很有智谋,一听说许攸来降,高兴得连鞋都没穿,跑出营房去迎接,嘴里说道:“贤弟远来,愚兄迎接来迟,请多多原谅!”
许攸非常感动,便对曹操说:“我们派去几千人化妆成袁兵,那淳于琼只知喝酒,趁他酒醉之时,烧毁他的粮草,之后趁机大败袁绍人马。”
曹操非常信任许攸,立即点了5000人马,打着袁军的旗号,直奔乌巢而去。淳于琼早已喝醉了,在营中大睡,手下士兵一看是自己人马,便让曹军进了大营。曹军大开杀戒,袁军大败。淳于琼从梦中惊醒,慌忙迎战,而曹军这时早已将粮草点燃。
袁绍在半夜时分睡得正香,忽听得有人报:“主公,大……大事不好,我军……粮草被烧!”
袁绍一下从床上坐起,大吃一惊,心想:完了,这次算全完了,淳于琼,我非杀了你不可。袁绍又一想:你曹操去烧我的粮草,我趁机去攻打你的大营,你那里一定会空虚,我断了你的后路,让你不战而败。想到此,他立即传令:进军曹营。
张郃道:“主公,此计不可,曹操虽带领人马去烧粮草,但只是一小部分,大队人马仍在城中啊!”
袁绍向来都不尊重别人的意见,把张郃的话当作了耳边风,坚持派张郃、高览前去偷袭曹营。
张郃、高览率军刚到官渡,曹军早有防备,同袁军展开了激战。曹军作战勇猛,袁军根本无法取胜。正在这时,曹操率领的5000精兵烧粮草赶回,从后边直冲入袁军。袁军腹背受敌,顿时大乱,张郃、高览不想给袁绍卖命,便率大军投降。
袁绍得知张郃、高览投降,知道自己大势已去,便带着几百名袁军逃跑了,后来在途中病死。