建安四年六月初,袁绍亲帅大军抵达管城,在与曹操的对阵中生擒了前来为曹操助阵的张飞,刘备为了张飞的安全,审时度势巧妙的运用了金蝉脱壳之计,脱离了曹操,加入了袁绍的阵营。袁绍为了早日攻破管城,便采用了昔日攻破易京之法,将大军推进到距管城五里之处安营,营内以白幔相连,以此来遮挡曹军窥探的视线。掘子营将领李植则带领手下日夜挖掘地道,进展极为神速。曹操在城楼上看到袁军营内以白幔相连,便已猜中袁绍的用意。返回管城府邸之后,曹操召集麾下谋士、将领商议,曹操道:“今袁绍亲帅大军围城,营中以白幔遮挡,表面上是以武力威慑困住我等,实则是以破易京之法,暗挖地道攻城,如果被袁绍奸计得逞,则管城危亦,我欲毕其功于一役,派将士夜袭袁军大营,诸公可有良策”。郭嘉道:“前番袭营,我军伤亡惨重,袁绍既然敢把营寨扎在离城五里之处,又岂能不防乎,若再次兵败,管城必破,丞相大军就只能退回许都坚守,而许都城内亦有不良之士,若与袁军里应外合,丞相数年基业则不复存也,请丞相三思”。程昱道:“奉孝之言虽有道理,然,此一时而彼一时也,如今之势正如丞相所言,此乃危急存亡之秋,必速断也!与其坐以待毙,不若奋力一搏,若能成功,便可一鼓作气将袁绍赶过黄河,收服所有失地,丞相之举实乃上策也!”
郭嘉道:“若袁军此举乃是诱敌之计,在城外设下军马,我军出城袭营,岂不正中袁绍下怀”。曹操道:“袁军营寨离管城只有五里,其间地势平坦,并非用兵之地,奉孝不必担心”。郭嘉道:“既然丞相决心已下,还需寻一良策,以应对突变之需”。众人经过一番商议,决定有曹仁、徐晃率领两万人马前去袭袁军中军大营。夏侯渊、曹纯各带本部人马在袁军左、右军营寨外埋伏。若袭营失败,他们可以左、右救援。若袭营成功,袁军左、右两军前去中军救援,他们正好帅兵伏之,将其一举击溃。且说曹仁、徐晃领了将令以后,为了不重蹈覆辙,他们准备了很多强弓硬弩,在箭头上缠上白纱、枯草等物,然后,又淋上了火油。是夜三更时分,他们悄悄走出管城,在离袁军大营百步之地就停下了脚步。随着一声令下,曹军将士纷纷点燃了早已准备好的箭支,登时万箭齐发,如火云般向袁军大营飞去。是时正值夏季,天干物燥,袁军大营又多是白幔等易燃之物,顿时火光冲天,袁军一片大乱。袁绍及其手下谋士也想到了曹操不会坐以待毙,夜间定会袭营,所以,在营中埋伏了大量人马。他们万万没有想到,曹仁、徐晃等人因为上次的教训,并没有轻易的靠近袁军大营,而是采用了强弓硬弩发射火箭的办法进行袭击,令他们措手不及。袁绍见营内火起,急忙安排军士救火,那些埋伏的军士也有一部分抛下了手中兵器,到处寻找水源灭火。另一部分军士则在自己主将的带领下,严阵以待,并未慌乱。就在这时,曹仁、徐晃指挥兵马杀来,一个冲锋就杀到了袁军大营之内。曹军接连兵败,每一名军士都对袁军充满了恨意,此时偷袭得手,手下自然不会留情。个个奋勇,人人当先。袁军自然不甘示弱,在主将的带领下奋起还击,顽强抵抗,双方登时就混战在了一起。夏侯渊、曹纯见袁军已有准备,徐晃、曹仁急切间并不能将袁军一举击溃,马上从本部一万人马中拨出五千由副将带领前去增援。袁军中军营寨的军士一边救火,一边抵挡曹军,已经处于下风,又见曹军增援赶来,瞬间就乱了阵脚。而徐晃、曹仁率领的军士见援军到来,则士气大增,厮杀时更加凶悍。袁军抵挡不住,纷纷四下奔逃、溃不成军。曹军见袁军溃败,更加勇猛。他们并未呼喊‘弃械者不杀’之类的口号,而是紧紧追赶,刀砍斧剁,将袁军杀得血流成河、尸横遍野。袁绍见败势已定,急忙收拢残兵败将,夺路而逃。刘备等人见袁军溃败,自然不会恋战,他们收拢了自己的人马杀出一条血路,前往荆州投奔刘表去了。颜枫等人在另一座大营内忽然听到袁绍大营传来喊杀之声,急忙走出帐外。他们抬头望去,只见袁绍大营火光冲天,人喊马嘶之声不绝于耳,都是大吃一惊。袁绍虽然知道高览、文丑染了风寒,但他为了给曹操增加压力,依然命令两人带领自己的军士前来助阵。但在安营的时候,颜枫则建议二人根据地势单独扎下了一处营寨。他们的营寨离袁绍的大营也不是太远,与袁绍大营互为犄角之势,所以,袁绍并不疑有他。文丑见袁绍大营起火,急忙整理人马要去救援。虽然他此时已有脱离袁绍之意,但袁绍昔日毕竟对他不薄,如今袁绍遇到危险,他不能见死不救。颜枫急忙劝阻:“不俊大哥且慢,如今曹军偷袭袁公大营,岂能又对我等不加防备,此时,营外一定埋伏了曹军大量人马,大哥前去,正中曹军奸计,非但救不了袁公,大哥与麾下将士也会陷入险地,唯今之计,只能坚守营寨,待天色大亮后再做安排”。高览听后说道:“不俊兄,子画所言极是,现在是夜间,我们又不了解情况,仓促出击对我军极为不利,还是应该依照子画之言坚守营寨,一切事宜待天亮后摸清情况再定”。文丑听后沉默了片刻,随后,马上吩咐军士在营内严阵以待,若曹军来袭,只以弩箭射之,擅出军营者严惩不贷。田豫、吕旷带领左、右两军的将士正在各自的营寨严阵以待。依照计策,若曹军偷袭中军营寨,他们就带领所部军士引军而出,截断曹军的退路,将曹军一网打尽。三更时分,他们看到袁绍所处的中军营寨中忽然燃起大火,知道必是曹军袭营,于是马上带领将士前去增援。不料,他们刚刚走出营寨,迎面就飞来一阵箭雨。袁军措不及防、登时大乱。夏侯渊、曹纯带领所部军士随后掩杀,袁军见中了埋伏,黑暗中又不知敌人有多少兵马,顿生惧意。欲返回自己的营寨,却见身后大火冲天,已经没有了退路。袁军更加混乱,再也无心迎敌,纷纷抛下兵器,跪地投降。田豫、吕旷见大势已去,便带领身边的亲兵拼命杀出一条血路,向垂陇城逃去。夏侯渊与曹纯见袁军投降,便留下一部分军士将俘虏押回管城,两人带领其他军士赶往袁军中军营寨与徐晃、曹仁汇合。他们合兵一处之后,整顿了军马又杀向文丑的大营。由于文丑等人已做了防备,所以并不出寨迎敌,而是利用营寨之地利,以弩箭顽强抵抗。四人率领数万曹军连番攻打,一直到天亮,文丑大营依旧巍然不动。此时,军士都已疲惫,四人无奈只得领兵回城。曹操听得战报传来,得知袁军大营皆已攻破,唯有文丑大营在曹仁、徐晃的猛攻下依旧安然无恙,不由得叹道:“兵在夜而不惊,将闻变而不乱,文不俊真良将也!”
此战,共杀死、杀死袁军一万七千余人,俘虏两万五千余人,一举扭转了战局。文丑、高览见曹军退走,马上吩咐军士在营中多设旌旗,又扎起许多的草人,给它们穿上盔甲,将一些兵器立在草人身前,作严守之状。然后,由高览率领军士先行撤退,文丑亲帅三千铁骑断后,两万余人的大军急速向垂陇城退去。且说袁绍带领残兵败将逃出曹军的包围之后,一直狂奔了四十余里才放缓了脚步。此时,天色大亮,袁绍回头一看,身边只剩下了三千余人,个个丢盔弃甲,满面惊惶之色。顿时气怒攻心,身子一晃差点跌落马下。沮授急忙上前扶住袁绍,道:“胜败乃兵家常事,将军不必放在心上,虽然我们在管城失败,但我们已经夺取了荥阳和垂陇及大片的土地,只要我们控制住这些地方,就能对许昌、与洛阳造成威胁,然后再等待时机,一旦曹操有变,我们就可卷土重来。”
许攸道:“虽然我们此番损失惨重,但荥阳与垂陇还有数万精锐之士,依旧可以与曹操一战,请将军放宽心怀,我们先到垂拢休整,然后整军再战”。正在这时,身后忽然有尘土飞扬,袁绍大惊,急忙令军士列好阵势迎敌。此时,军士都已疲惫不堪,而且军心不稳,若就此逃走,必然人心溃散,他们就真的陷入了绝境。所以,袁绍决定拼死一搏,以求一线生机。