公元200年春,袁绍派大将颜良做先锋,率兵东进,将曹操的东郡守将刘延围困在白马。接着,袁绍又亲自率10万大军,向黄河岸边开拔,准备渡河东进。
此时曹操正在许昌与刘备的大将关羽饮酒。关羽在徐州战败后便留在曹营效力。曹操忽然接到刘延的告急文书:白马被围,危在旦夕,急忙召集众将领商议计策。谋士荀攸说:“袁绍兵力强大,不妨佯攻,偷梁换柱,分散他的力量。”曹操点头赞许。
曹操率领大军行进在通往延津的山道上,一路浩浩荡荡,十分张扬,并传出消息:要渡过黄河,袭击袁绍后方。袁绍探得曹军行动的情报,急忙调出一支军队西去延津,准备迎战曹军。曹操却乘春夜月色朦胧,悄悄地率领5万精兵,突然掉转马头,往白马方向急驶而去。
第二天天刚放亮,颜良出帐一看,大惊失色。原来曹军已到达离白马10里的土山前,正摇旗呐喊。颜良忙率军摆阵迎战。曹操阵中冲出关羽,手提青龙刀,骑赤兔马,旋风似的冲到眼前。颜良措手不及,被杀死在马上,袁军不战而溃。
袁军残兵败将在撤退途中遇到袁绍,向他哭诉曹操如何解了白马之围。袁绍愤恨不已,誓与曹操决一死战。
曹军解了白马之围后,又赶到延津。南山坡的嘹望哨向曹操报告:袁军以文丑为先锋率军排山倒海般压了过来。曹操命人将粮车马匹散在路上。不久,文丑的骑兵与袁绍的后继部队相继赶到,争先恐后地抢夺粮食马匹,乱成一团。
曹操这才下令将士冲杀过去。袁军自相践踏,死伤大半。从此,曹袁两军的力量对比发生了根本的变化。