曹操正在驚慌逃跑的時候,正南方有一支軍隊趕到,原來是夏侯惇引軍來救援,他截住呂布開始大戰。戰鬥持續到黃昏時分,大雨傾盆而下,雙方各自引軍分散。曹操回到營寨,重賞了典韋,並提升他為領軍都尉。
呂布回到營寨後,與陳宮商議對策。陳宮建議利用濮陽城中的富戶田氏來設下圈套。他們讓田氏假裝向曹操投降,並密告曹操說呂布殘暴不仁,民心怨恨,現在打算移兵黎陽,只有高順留在城內,可以連夜進兵,田氏願意作為內應。曹操如果中計進城,他們就在四門放火,外設伏兵,這樣曹操就算有經天緯地之才也難以逃脫。
呂布採納了陳宮的計策,秘密指示田氏派人直接去曹操的營寨送信。曹操因為剛剛戰敗,正在猶豫不決的時候,突然接到田氏的信使送來的密信。信中說呂布已經去了黎陽,城中空虛,希望曹操速來進攻,田氏會作為內應,城上插白旗並寫有“義”字作為暗號。曹操大喜過望,認為這是天意讓他得到濮陽,於是重賞了信使並開始起兵。
然而劉曄卻提醒曹操要小心謹慎,因為呂布雖然無謀但陳宮卻多計策。他建議曹操分兵三隊進攻濮陽城,兩隊在城外接應一隊入城。曹操採納了劉曄的建議分兵三路來到濮陽城下。他親自前往觀察發現城上遍插旗幡西門角上還有一面寫有“義”字的白旗心中暗自高興。
到了約定的時間午牌時分城門開啟兩員將領引軍出戰分別是前軍的侯成和後軍的高順。曹操派典韋出馬直取侯成。侯成抵擋不住回馬逃入城中。典韋追到吊橋邊高順也攔擋不住都退入了城中。這時有軍人混過陣來見曹操說是田氏的信使呈上密信約定今夜初更時分城上鳴鑼為號便可進兵獻門。
曹操於是撥夏侯惇引軍在左、曹洪引軍在右自己帶領夏侯淵、李典、樂進、典韋四將率兵入城。李典建議曹操在城外等候讓他們先入城探聽虛實但曹操卻堅持要親自領兵直入。時約初更月光昏暗只聽得西門上吹起蠃殼聲(一種用海螺殼做的號角)突然喊聲大起門上火把繚亂城門大開弔橋放落。
曹操爭先拍馬而入直到州衙路上卻不見一人。他立刻意識到這是中計了急忙撥回馬頭大叫:“退兵!”然而此時州衙中一聲炮響四門烈火轟天而起金鼓齊鳴喊聲如江翻海沸。東巷內轉出張遼西巷內轉出臧霸夾攻掩殺。曹操逃向北門道旁轉出郝萌、曹性又殺了一陣。他急忙逃向南門卻被高順、侯成攔住。
典韋怒目咬牙衝殺出去逼得高順、侯成倒走出城。然而當他殺離吊橋回頭時卻不見了曹操的身影於是翻身復殺入城來。在門下他撞見了李典詢問主公的下落但李典也不知道。典韋讓李典去城外催救軍自己則再次殺入城中尋找曹操。然而他再次殺出城壕邊時卻撞見了樂進。兩人一起尋找曹操的蹤跡但四處都找不到。
此時曹操見典韋已經殺出去了但四周的人馬卻截斷了他的去路無法從南門逃出。他只好再轉北門卻在火光中正好撞見了呂布挺戟躍馬而來。曹操以手掩面加鞭縱馬竟然從呂布身邊衝了過去。呂布從後面拍馬趕來將戟擊向曹操的頭盔問道:“曹操在哪裡?”曹操反指前面騎黃馬的人說是他。呂布聽後放棄了曹操縱馬向前追趕。
曹操趁機撥轉馬頭逃向東門卻正好遇見了典韋。典韋保護著曹操殺出一條血路到城門邊但火焰太盛城上又推下柴草遍地都是火。典韋用戟撥開火勢飛馬冒煙突火率先衝了出去曹操緊隨其後。然而當他們剛剛走到門道邊時城門上突然崩下一條火梁來正好打著曹操戰馬的後胯那馬撲地就倒了。曹操用手托住火梁推放到地上但手臂和鬚髮都被燒傷了。
典韋回馬來救曹操恰好夏侯淵也趕到了。兩人一起將曹操救起突火而出。曹操騎上夏侯淵的馬典韋在前面殺出一條大路逃跑。他們一路混戰直到天明才回到營寨。
眾將向曹操拜伏問安,