公元200年(建安五年),曹操及袁紹始交戰,許攸說:"曹操兵少,而集中全力來抵抗我軍,許都由剩下的人守衛,防備一定空虛,如果派一支隊伍輕裝前進,連夜奔襲,可以攻陷許都。占領許都後,就奉迎天子以討伐曹操,必能捉住曹操。假如他未立刻潰散,也能使他首尾不能兼顧,疲於奔命,一定可將他擊敗。"袁紹不同意,說:"我一定要先捉住曹操。" 正在這時,許攸家裏有人犯法,留守鄴城的審配將他們逮捕,許攸知道後大怒,就投奔曹操。
曹操聽說許攸來了,跣足出迎,高興地說:"子遠來了,大事可成!"再請許攸入座相談。許攸問到:"貴軍軍糧可以用多久?"曹操答曰:"尚可支持一年。"許攸再說:"哪有這麼多?說真的吧!"曹操再答:"還可以支持半年。"許攸說:"難道你不想打敗袁紹嗎?為何不說真話?"曹操說:"跟你開玩笑而已,其實軍糧隻剩此月的份量。"許攸獻計說:"今孟德孤軍獨守,既無援軍,亦無糧食,此乃危急存亡。現在袁軍有糧食存於烏巢,雖然有士兵,但無防備,隻要派輕兵急襲烏巢,燒其糧草,不過三天,袁軍自己敗亡!"
曹操聽計後大喜,選精兵假扮袁軍,馬含銜枚,士兵拿著柴草向烏巢出發,遇上其他人問話時,皆回答:"袁紹怕曹操奇襲,派我們把守。"袁軍不疑有詐,放其通行。到達烏巢後,曹軍放火,營中大亂,大破袁軍,糧草盡燒,斬首領將眭元進、韓莒子、呂威璜、趙睿等首級,割下淳於瓊的鼻,殺士卒千餘人,將他們所有鼻割下,連同牛、馬的舌頭一同送往袁軍,袁軍將士大驚。淳於瓊為曹將樂進所虜獲,被帶到曹操麵前。
曹操問淳於瓊說:"你今天弄成這樣,是什麼緣故?"淳於瓊答:"勝負乃天所控製的,問我幹什麼?"曹操想要留下淳於瓊性命,許攸勸諫說:"以後他照鏡子,看到自己的鼻子被割了,不會忘記今天的恥辱和仇恨。"聽完,曹操同意殺淳於瓊。
烏巢失守後,正在攻打曹軍營寨的張郃、高覽投降,袁軍全盤崩潰,袁紹僅帶著八百騎兵逃回河北,曹操大獲全勝。
建安七年(202年),袁紹病逝,之後他的兩個兒子袁譚、袁尚為了爭位自相殘殺。建安九年(204年),曹操攻破鄴城,占領冀州,許攸立有功勞,但許攸自恃功高,屢次輕慢曹操,每次出席,不分場合,直呼曹操小名,說:"阿瞞,沒有我,你得不了冀州。"曹操表麵上雖嘻笑,說:"你說得對啊。"但心裏頗有芥蒂。一次,許攸出鄴城東門,對左右說:"這家人沒有我,進不得此門。"有人向曹操告發,於是許攸被收押,最終被殺。
袁紹在占領冀州後,為了安撫原來韓馥的勢力,大力提拔河北新貴,比如大將顏良、文醜,謀士田豐、沮授、審配等,張郃也屬於這個圈內。再加上三子奪儲,冀州一時間派係林立,內部視同寇仇。在官渡之戰最緊要關頭,因許攸家人犯法,竟然大張旗鼓地將許攸家人盡數收監,正是審配之流變相打擊許攸,郭圖也是見死不救。