太守劉延向許昌告急。曹操急忙商議出兵抵抗。關羽聽說後,進入相府見曹操說:“聽說丞相要出兵,我願意作為前部。”曹操說:“不敢勞煩將軍。如果有需要,我會來請你的。”關羽於是退下。
曹操率領十五萬大軍,分三路進發。路上又接到劉延的告急文書,曹操於是先率領五萬大軍親臨白馬,靠土山紮營。他遙望山前平川曠野之地,看到顏良率領的前部精兵十萬,已經排成陣勢。曹操感到驚駭,回頭對呂布的舊將宋憲說:“我聽說你是呂布部下的猛將,現在可以與顏良一戰。”宋憲領命,綽槍上馬,直衝出陣前。顏良橫刀立馬於門旗下,看到宋憲馬到,大喝一聲,縱馬來迎。戰不到三個回合,顏良手起刀落,將宋憲斬於陣前。曹操大驚說:“真是勇將啊!”
魏續說:“他殺了我的同伴,我要去報仇!”曹操答應了他。魏續上馬持矛,直接衝出陣前,大罵顏良。顏良更不打話,交馬一合,照頭一刀,將魏續劈於馬下。曹操問:“現在還有誰敢去迎戰?”徐晃應聲而出,與顏良戰了二十個回合,敗回本陣。諸將都感到驚恐。曹操收兵回營,顏良也引軍退去。
曹操看到連折了兩員大將,心中憂悶。程昱說:“我推薦一個人可以敵得過顏良。”曹操問是誰,程昱說:“非關公不可。”曹操說:“我擔心他立了功就會離開。”程昱說:“如果劉備在袁紹那裡,關羽一定會去投奔他。現在如果讓關羽打敗袁紹的軍隊,袁紹一定會懷疑劉備並殺了他。劉備死了,關羽又能去哪裡呢?”曹操大喜,於是派人去請關羽。
關羽進來向二位嫂嫂辭行。二位嫂嫂說:“叔叔此去,可以打聽一下皇叔的訊息。”關羽答應著出了門,提著青龍偃月刀,騎上赤兔馬,帶著幾名隨從直接來到白馬見曹操。曹操敘述了顏良連殺兩將的勇猛無敵的情況後請關羽商議對策。關羽說:“讓我去看看他的陣勢再說。”曹操於是設酒宴款待他。
突然有人來報告說顏良前來挑戰。曹操帶著關羽上土山觀看。曹操與關羽並排而坐諸將環立在周圍。曹操指著山下顏良排好的陣勢只見旗幟鮮明刀槍密佈嚴整有威勢對關羽說:“河北的人馬如此雄壯!”關羽卻說:“在我看來他們就像土雞瓦犬一樣不堪一擊!”曹操又指著麾蓋之下繡袍金甲持刀立馬的人說:“那個人就是顏良。”關羽舉目一望對曹操說:“我看顏良就像插著草標賣自己的腦袋一樣!”曹操說:“你不可輕視他。”關羽站起身來說:“我雖然不才但願意在萬軍之中取來他的首級獻給丞相。”
張遼說:“軍中沒有戲言,雲長(關羽)不可輕視。”關羽於是振奮精神,上馬提刀,從山上衝下來,他的眼睛瞪得圓圓的,眉毛直豎,直接衝向敵陣。河北的軍隊像波開浪裂一樣被他衝散,關羽直奔顏良而去。顏良正在麾蓋下,看到關羽衝來,正想問話,但關羽的赤兔馬速度太快,一下子就衝到了他面前。顏良措手不及,被關羽一刀刺於馬下。關羽隨即下馬,割了顏良的首級,拴在馬脖子上,然後飛身上馬,揮刀殺出陣來,就像進入了無人之境。河北的兵將大驚失色,不戰自亂。曹軍趁機攻擊,殺死的敵人不計其數,搶奪的馬匹和器械也極多。
關羽縱馬上山,眾將都紛紛向他祝賀。關羽把顏良的首級獻給曹操。曹操說:“將軍真是神人啊!”關羽回答說:“我有什麼值得一提的呢!我的弟弟張翼德(張飛),在百萬軍中取上將的首級,就像從口袋裡取東西一樣容易。”曹操大驚,回頭對左右的將士說:“今後如果遇到張翼德,千萬不可輕敵。”他命令把這句話寫在衣袍的襟底以作為記號。
另一方面,顏良的敗軍逃回,半路上遇到袁紹。他們報告說有一個紅臉長鬚、使用大刀的勇將,單槍匹馬衝入陣中,斬了顏良然後離去,因此他們大敗。袁紹吃驚地問:“這個人是誰?”沮授回答說:“這一定是劉玄德(劉備)的弟弟關雲長(關羽)。”袁紹大怒,指著劉備說:“你弟弟殺了我心愛的將領,你一定和他同謀,留你有什麼用!”他命令刀斧手把劉備推出去斬首。