此時,曹操與呂布刀兵又起。曹操見金旋接連攻城掠地,聲威顯赫,西川、荊襄均非其敵,其勢欲來欲大。曹操急欲擴大地盤,增長勢力,本想先西征張魯、馬騰,然後攻下西川,限制金旋勢力,擔心呂布、袁紹乘虛前來相攻,一時猶豫不決。
徐州、下邳兩郡此時因為天旱歉收,呂布軍中缺糧,其手下部將高順領兵攻打譙城東部各縣,奪取縣城糧草以自給。曹操以此為借口,親自掛帥,率領十萬大軍攻打濮陽。又命夏侯淳為大將,程昱為軍師,率領五萬精兵屯紮定陶,阻擊徐州援軍。
呂布此時共擁精兵十三萬,徐州守軍六萬,下邳守軍三萬,濮陽守軍三萬,都陽守軍一萬。濮陽守將臧霸,見曹操兵多將廣,會集副將卞喜、程遠志商議。
卞喜道:「曹操兵力強盛,又派大將駐守定陶,徐州援軍必然不能及時趕到。若是主公親自率軍與定陶曹兵相戰,勝多負少。主公若能攻下定陶,截斷曹操所部大軍退路,曹軍必然心慌,我軍之圍自解。」
臧霸聽其所言有理,一面派人火趕往徐州告急,一面領兵固守不戰,等待定陶消息。曹操屢施誘兵之計,臧霸只是不理。無奈之下,曹操統軍猛攻幾次,卻因城牆堅固,守軍用心,反而損折不少士兵。
呂布聞訊,會文武相商,陳宮道:「曹操兵力雖然多出濮陽守軍,若是臧霸只守不戰,倚靠城堅固守,必可支撐一段時間。夏侯淳所部屯於定陶,除阻擊我軍支援濮陽外,尚有保護曹操所部退路的目的。若我軍集兵奪下定陶,曹操歸路已失,反而處於不利局面。」
呂布聽從陳宮之言,調下邳守軍一萬五千兵馬趕赴徐州,徐州兵力達到七萬餘眾。呂布命高順、孫登統領所部兩萬餘士兵駐守徐州,自與張遼、陳宮率領五萬精軍攻打定陶。
呂布大軍來到定陶城下,夏侯淳、程昱統兵出戰,兩軍兵力相若,實力相當,交戰激烈異常。呂布英猛無敵,血戰之中,見夏侯淳在不遠處廝殺,提戟徑往他殺去。夏侯淳武藝雖高,與呂布相比,卻稍遜一籌,交手三十餘合,夏侯淳漸覺氣力不加,回馬往後退去。
陳宮在後觀戰,見此良機,命士兵齊呼道:「曹軍已經敗退,我軍必勝。」呂布所部士氣大振,而曹軍士氣低落,再戰一刻,曹軍漸覺不支,軍陣潰散,程昱見勢不妙,鳴金守兵,退入定陶。
夏侯淳戰大敗,與程昱商議,程昱道:「主公現在攻打濮陽正急,若我等堅守不戰,呂布所部繞路而去,與濮陽守軍兩路夾擊,主公危矣。我軍雖敗,實力仍在,只做纏戰,使其不能援救,便可達到拖住其援軍的目的。」
夏侯淳派人急報曹操,細述定陶戰狀。曹操重兵攻打濮陽多日,臧霸精於防守,一時難下,因為定陶關係大軍退路,命令大將李典率領二萬精兵往援。
曹軍援兵趕到,定陶守軍勢力猛增,軍力已勝過呂布所部,與呂布所部相戰幾場,互有勝負。陳營見此,入見呂布道:「曹軍兵勢,程昱多謀,不若讓張遼率領所部分營立寨,以為呼應。」呂布使張遼領兵兩萬在大營東五里處紮寨。
夏侯淳與諸將商議。程昱曰:「呂布英勇,諸將不敵。若使李典率領一萬精兵詐攻徐州,呂布及諸將家小皆居於徐州,軍心必然動搖。待呂布分兵往救,夏侯將軍引兵劫奪其營,必可取勝。」
夏侯淳依計讓李典領兵繞路往攻徐州,呂布聞訊大驚,急召陳宮商議。陳宮笑道:「此程昱分兵之計。我等可將計就計,高順率領一萬精兵出徐州,張遼率領兩萬精兵從後追擊,兩路夾擊,李典必然不敵。主公率領全營士兵分頭埋伏,留下空營等待曹軍前來劫營。曹兵兵力雖然強於我軍,也必會失敗。」
呂布升帳頒下軍令,高順所部出徐州,張遼所部追擊李典軍。高順所部於半途逢遇李典軍,兩軍兵力相若,相戰正是激烈之時,張遼精兵從李典身後殺來,與高順所部夾擊,李典所部大敗,共損折士兵三千餘。
夏侯淳在營中等候消息,聞張遼所部精兵盡出,不由大喜,以為呂布墜其計中,入夜後率領四萬精兵前去劫營。呂布營中,四周漆黑,只有中間幾處軍帳隱約有些燈光,曹軍前軍安然進營,直撲燈光亮處,見是一座空營,正在退軍之時,衝動夏侯淳中軍。
正在曹軍擁擠混亂之時,呂布、陳宮伏兵從左右兩側突起,夏侯淳猝不及防,黑夜裡又擺不成陣勢,被呂布部下衝潰隊形。夏侯淳殺出一條血路,敗往定陶,呂布馬快,率所部騎兵緊隨其後。
夏侯淳進入定陶,剛喘一口粗氣,黑暗裡呂布搶進城門。夏侯淳、程昱見呂布精騎入城,源源不絕,不知呂布虛雨,兩人略一商議,決定放棄定陶退往陳留。
曹操聞定陶兵敗,召眾人相商。郭嘉道:「濮陽所賴者,臧霸也,可偽撤兵全力進攻定陶,引誘臧霸出城,設伏兵將其生擒。濮陽若無臧霸,其城立可下也。」
曹操對外宣稱撤軍,重兵奪回定陶,讓各營準備撤軍。暗命夏侯淵、樂進、徐晃、於禁四將,率領所部分頭埋伏。
臧霸聞定陶大勝,以為曹操必會撤軍,想借其退軍之時,襲擊其後軍。於是集重兵追擊,在半途為夏侯淵等四將伏兵阻斷退路,前面曹操又引兵殺回,臧霸率領部下死戰,力盡被夏侯淵生擒,被郭嘉說降。
曹操得臧霸這員虎將,對其寵愛有加,將幼妹曹榮下嫁於他。臧霸感激不盡,自請回城招降濮陽守軍,卞喜、程遠志兩將隨臧霸日久,一併帶兵出降。
曹操盡得濮陽之眾,在濮陽城內整軍半月,軍政諸事得臧霸之力,迅整頓完畢。曹操意要恢復定陶,命令夏侯淵所部駐守濮陽,夏侯淳、李典率領五萬兵馬出陳留,自率八萬精兵出濮陽,共十三萬兵馬攻擊定陶。
呂布聞濮陽陷落,臧霸所部全軍覆滅,大驚失色,意欲撤軍,全力保護徐州。陳宮勸道:「濮陽已失,定陶為徐州保障,若是定陶不能保全,曹操重兵直指徐州,徐州城內糧草不濟,必然不能久守。」呂布不聽,吩咐棄守定陶,全軍返回徐州。陳宮心知呂布必敗,欲要亡去,但因相隨日久,不忍棄之。
曹操垂手復得定陶,留下樂進所部二萬兵駐守,起兵十三萬攻打徐州。呂佈兵力尚存九萬,徐州守軍共有七萬,加兩萬兵馬分駐下邳、都陽。
兩軍皆準備妥當,列陣決戰。呂布策馬出陣挑戰,徐晃迎上前去,兩將交手未及十合,徐晃氣力不支,敗下陣來。夏侯淵、於禁、李典、曹洪四將齊出,上前夾攻,呂布精神倍加,力敵四將。陳宮見狀,命令高順、張遼出馬相助,四將抵擋不住,退回本陣。
陳宮見曹軍士氣低迷,統兵往前掩殺。呂布衝鋒之時,猛然看見曹操,策馬直衝過來,幾員曹將被其殺得心寒,隨曹操往後退去,主將退卻,曹兵隨即潰散。曹軍大敗,死傷無數,退回三十里方止住敗兵,聚齊眾將,重新下寨。
呂布見曹操雖敗,然其兵多將廣,甚為難敵,與陳宮商議。陳宮曰:「當今天下,能與曹操相抗衡者,唯金旋、袁紹也。金旋與劉表、劉焉交戰日久,無暇顧及。能援救主公者,僅有袁紹一路兵馬,可遣使急赴南皮,說服袁紹出兵攻打曹操後方。徐州之圍可立以解。」呂布隨命孫登急赴南皮懇請袁紹出兵。
呂布神勇,曹軍諸將莫敵,徐州城防堅固,不易攻取,曹操意欲退兵。郭嘉勸道:「呂布,世之猛虎。現今兵少糧盡,正是危難之時。倘若假以時日,使其元氣恢復,後患無窮也。」
曹操聽言醒悟,召集眾人相議。荀攸曰:「今連降暴雨,徐州城南河水為患,可以決堤導水入城,徐州頓成水澤之地,不戰自亂也。」
曹操命令各營屯於高處,決堤導水灌入徐州。陳宮見徐州不可守,勸呂布棄城退至都陽。呂布命令張遼率領三萬精兵保護諸將家小先行遷往小邳。