东汉末年,天下大乱,群雄锋起,互相征战。袁绍占据了冀、青、并三州,拥兵10万,经过连年攻杀,又攻下了幽州,成为北方最大的势力。这时,曹操占据兖、豫二州,军队只有3万人,粮食军资和武器也不如袁绍。袁绍同曹操之间虎视眈眈,都打算消灭对方,展开了你死我活的斗争。
公元199年,曹操亲自出兵徐州准备征讨刘备。这时曹操后方的许都(今河南许昌)防务空虚。袁绍的谋士田丰劝袁绍乘机亲自领兵直取许都,即便不能夺下许都,也可以给曹操一个不小的打击。这时正巧袁绍的小儿子生病,袁绍不愿发兵。田丰气得用手杖戳着地面说:“难得有这样的好机会!就为了一个小孩子生病白白地耽误了,实在是可惜呀!太可惜了!”等到曹操打败刘备,占领徐州,分兵守卫官渡(今河南省中牟县东北)自己又回到许都以后,袁绍却要发兵去攻打许都。这时曹操的人马兵威正盛,军队士气正高。田丰对袁绍说:“曹操善于用兵,变化多端,不是好对付的。他既然已经打败了刘备,他自己回到许都,就不能冒冒失失地去攻打许都了。我看还是稳妥点好,采用持久战来养精蓄锐,消耗曹操,等以后有机会再攻打也不迟。如果不作长远考虑,只顾眼前一决雌雄,一旦失利,后悔都来不及了!”刚愎自用的袁绍哪里听得进这些意见,他认为田丰扰乱军心,就下令把田丰关了起来。
公元200年,袁绍率10万大军向许都进发。8月,同曹操的军队在官渡地区展开了决战。曹操利用袁绍军队轻敌的情绪和内部不和等矛盾,率5000人马偷袭袁军的后方,放火烧了袁军的粮车和粮囤,杀了袁绍的几员大将。袁绍的军队见粮食被烧、主将战死,人心惶惶,无心再战。曹操见时机成熟,就全线出击,歼灭了袁绍军队的主力7万多人。袁绍只带着800多人逃命回来。
袁绍在官渡惨败的消息很快就传到了冀州。狱吏们纷纷向关在狱中的田丰道喜说:“你马上就会出狱了!袁将军没接受您的建议,在官渡打了败仗。这下可好了,他一定会器重你了。”田丰听后对他们说:“哪是什么喜事啊,你们还给我道喜呢,我看我是快没命啦!袁将军是个心胸狭窄的人,如果他打了胜仗还可能会赦免我,不幸被我言中打了败仗,他脸上无光,怎么会放过我呢!”
果然过了不久袁绍就派人处死了田丰。