我和你向來無仇,你為什麼要奪我的州郡?”呂布回答說:“漢家的城池,人人有份,憑什麼只有你能得?”說完,他命令臧霸出馬挑戰。曹軍中,樂進出戰迎敵。兩人交戰三十多個回合,不分勝負。夏侯惇拍馬出陣助戰,呂布陣上的張遼截住廝殺。呂布見狀大怒,挺戟催馬,衝出陣來。夏侯惇、樂進都敗退,呂布乘勢掩殺,曹兵大敗,後退了三四十里。呂布收兵回營。
曹操輸了一陣,回到營寨與諸將商議對策。于禁建議說:“我今天上山觀望,發現濮陽之西有呂布的一個營寨,兵力不多。今夜他們以為我軍敗逃,必定不會防備,我們可以引兵偷襲。如果能奪下這個營寨,呂布的軍隊必定會恐慌。這是上策。”曹操聽從了他的建議,帶領曹洪、李典等六將,精選馬步軍兩萬人,連夜從小路進發。
與此同時,呂布在營寨中犒勞軍隊。陳宮提醒他:“西寨是個重要地方,如果曹操偷襲怎麼辦?”呂布說:“他今天輸了一陣,怎麼敢來偷襲?”但陳宮仍然擔心曹操會攻其不備。於是呂布派高順和魏續、侯成等人引兵去守西寨。
然而曹操卻在於黃昏時分引軍到達西寨,四面突入。寨中的軍隊無法抵擋曹軍的猛攻,四散奔逃。曹操成功奪下了寨子。將近四更時分,高順才引軍趕到並殺入寨中。曹操親自引軍迎敵與高順交戰在一起。天快亮時正西方鼓聲大震有人報告說呂布親自引領救軍來了。曹操只好放棄寨子逃跑。背後高順、魏續、侯成等人緊追不捨而呂布也親自引軍趕到。于禁、樂進雙戰呂布不住曹操只好繼續北逃。這時山後又有一支軍隊出現左有張遼右有臧霸。曹操派呂虔、曹洪去迎戰但不利只好繼續西逃。突然又喊聲大震一彪軍攔住去路原來是郝萌、曹性、成廉、宋憲四將。眾將死戰曹操當先衝陣但箭如驟雨射來無法前進。曹操無計可脫大叫:“誰人救我!”這時馬軍隊裡一將挺身而出原來是典韋。他手挺雙鐵戟大叫:“主公勿憂!”然後飛身下馬插住雙戟取出短戟十數枝挾在手中對隨從說:“賊來十步乃呼我!”於是他放開腳步冒箭前行。呂布的數十騎兵追來隨從大叫:“十步了!”典韋說:“五步再叫我!”隨從又說:“五步了!”典韋於是飛戟刺去一戟一人墜馬並無虛發立刻殺了十數人嚇得眾人都逃跑了。典韋再次飛身上馬挺著一雙大鐵戟衝殺進去。郝萌、曹性、成廉、宋憲四將無法抵擋各自逃去。典韋殺散了敵軍救出了曹操。眾將隨後也趕到一起尋找歸路回到了營寨。看看天色已晚背後又響起了喊聲呂布騎馬提戟趕來大叫:“曹操休走!”此時曹軍人困馬乏大家都面面相覷想要逃生。