經過在濮陽城外的一番較量後,曹操與呂布形成了相持之勢。陳宮向呂布提出建議,利用城內富戶田氏向曹操詐降,引誘曹操連夜攻城,趁機將其一網打盡。呂布依計而行,田氏派人來到曹操營寨。謀士參謀劉曄認為這很可能是呂布、陳宮的計策,建議曹操小心行事。曹操便按照劉曄的建議,將大軍分成三隊,來到濮陽城下。
看到濮陽城頭出現了與田氏約定的暗號後,曹操不顧李典的阻攔,親自拍馬入城。但等曹操來到城內州衙後,發現街道上空無一人,心知上當,慌忙下令撤退。此時,呂佈伏兵四起,張遼、臧霸等人輪番殺出。曹軍大敗,曹操也在混亂中與其他人失散。已殺出重圍的典韋發現不見了曹操,又單人獨騎殺回城中尋找曹操,但卻依然無法找到曹操的蹤跡。
此時的曹操經過連番激戰,不但依然無法突圍出城,還在南門遇到了呂布。曹操只得以手掩面,企圖縱馬逃走。誰知呂布用方天畫戟擊打曹操的頭盔,並追問曹操的下落。曹操靈機一動,隨口說前面騎黃馬者便是曹操。呂布拋下這位真正的曹操,去追哪位假曹操。
眼看呂布離去,曹操終於送了一口氣,轉向東門逃跑,並在此處遇到了典韋。典韋終於得以掩護曹操突圍出城,但曹操卻在突圍途中被火燒傷,手臂鬚髮受創嚴重。此後,曹操重整旗鼓,以詐死之策引誘呂布出戰,並巧設埋伏將呂布擊敗。
小說中提到的此次濮陽之戰,在歷史上確有其事,時間是在獻帝興平元年(公元194年),戰事的經過也與小說非常相似。據《三國誌武帝紀》及其注引《獻帝春秋》記載,曹操圍攻濮陽,城中大姓田氏施展反間計,謊稱依附曹操,並火燒濮陽東門。曹操信以為真,親自率兵進城,結果遭到呂布大軍的伏擊。曹操麾下青州軍一觸即潰,曹操猝不及防,只得在冒著火勢突圍而出。
在突圍途中,曹操與呂布不期而遇。幸虧呂布不認識曹操,反倒問哪個是曹操,曹操趁機胡謅出「乘黃馬走者是也」之語,呂布放過了真曹操,率部去追假曹操,這才讓曹操僥倖逃脫。
雖然沒有死在呂布的手裡,但曹操在逃跑途中卻被熊熊大火燒傷。《獻帝春秋》稱:「(曹操)馳突火出,墜馬,燒左手掌。」此時,一位一閃即逝的曹軍將領救了曹操的命。這個人名叫樓異,當時在曹操軍中擔任司馬一職。《三國誌武帝紀》載:「司馬樓異扶太祖上馬,遂引去。」這段史實與小說中的描述大相逕庭。小說作者隱去了樓異這個人物,而將救主的功勞移植到了典韋的身上,目的非常簡單,是為了突出典韋的形象。
與曹操經歷的其他戰事相比,濮陽之戰可謂是最為凶險的一次。他竟然與漢末時期的頭號猛將呂布狹路相逢,一旦與呂布動起手來,定然會小命不保,這也是呂布一生中最為遺憾之事。不過,這裡還是有一個疑問,想當初曹操與呂布同在洛陽,並一起經歷了宦官誅殺何進、袁紹殲滅宦官、董卓進京掌權等重大事件。在這數月之間內,呂布與曹操竟然沒有見過面,導致呂布在濮陽之戰中錯失良機,這只能說是天意了。否則的話,漢末歷史將徹底改寫。