次日,周瑜率赵云、蒋钦、凌操诸将赶到,两军交战。关羽出战,周瑜使蒋钦迎之,交战未及十合,蒋钦气力不加,得赵云上前方才救回。午后再战,赵云出马,与关羽对敌,赵云挺枪直取关羽,关羽挥刀来迎,两马相交,大战上百合,两将武艺相若,将逢对手,杀得难解难分,战场上征尘蔽日,杀气冲天。周瑜担心赵云有失,鸣金收兵。两军相持于长坂。
时曹操与吕布刀兵又起。曹操见金旋接连攻城掠地,声威显赫,西川、荆襄均非其敌,心中忧虑。欲西征张鲁、马腾,然后下西川,分金旋之势,又恐吕布、袁绍来攻,一时不决。徐州、下邳两郡天旱歉收,吕布军中缺粮,其部将扰谯城郡州县。曹操以此为由,命夏侯淳、程昱率领五万精兵屯定陶,阻住徐州、濮阳通道。亲率十万大军攻打濮阳,
吕布此时共拥精兵十三万,徐州守军六万,下邳守军三万,濮阳守军三万,都阳守军一万。臧霸、卞喜、程远志三将统兵驻守濮阳,听闻曹操来犯,速往徐州告急。吕布急调下邳守军一万五千兵马急赴徐州,命高顺、孙登率两万五千兵驻守徐州,与张辽、陈宫率五万军援救濮阳。
大军来到定陶,夏侯淳、程昱率军挡住出路,两军交战,夏侯淳部不敌,被吕布杀败。夏侯淳、程昱统败兵退入定陶,使人急报曹操。曹操此时重兵攻打濮阳,臧霸率军固守,一时不下,命大将李典率两万军援救定陶。
曹军援兵赶来,陈营见曹军兵众,程昱多谋,命张辽率两万军分营立寨。夏侯淳见援兵来到,与诸将商议。程昱曰:“吕布英勇,诸将不敌。若使李典率一万军诈攻徐州,吕布众将家小皆居徐州,军心必乱。待吕布分兵往救,公引兵劫其营,必胜也。”夏侯淳命李典率兵往攻徐州,吕布闻讯大惊,与陈宫商议。陈宫曰:“此程昱分兵之计也。可将计就计,命高顺率一万军出徐州,命张辽率两万军从后追杀。宫与公分兵伏之,只留空营以待曹军。曹兵虽众,必败也。”吕布命高顺出徐州,张辽出定陶。于半途正逢李典军,两路夹击,李典大败,折兵三千。夏侯淳见张辽兵出,至夜率四万兵劫营,到得吕布营中,见是一座空营,心知中计,正欲退军,吕布、陈宫两路伏兵杀来,夏侯淳部大败,立不往阵角,被吕布抢入定陶。夏侯淳、程昱见大势不妙,弃定陶退往陈留。
曹操闻定陶兵败,召众相商。郭嘉曰:“今濮阳所赖者,臧霸也,可伪撤兵攻定陶,诱臧霸出,伏兵擒之。臧霸若失,濮阳必立下也。”曹操纳其计,伪撤军,使夏侯渊、乐进、徐晃、于禁四将伏兵于途。此时臧霸听闻定陶胜讯,见曹操撤军,引兵追击其后军,为四将伏兵阻断归路,率部力战,力尽被擒,归降曹操。曹操命臧霸招降濮阳守军,卞喜、程远志带兵出降。曹操尽得濮阳之众,于濮阳整军。半月,诸事皆毕,曹操命夏侯渊率军驻守濮阳,命夏侯淳、李典率兵五万出陈留,自率八万兵出濮阳,合击定陶。
濮阳失利,全军覆灭,吕布闻讯大惊,欲撤军保徐州。陈宫劝曰:“濮阳已失,定陶为徐州保障也,若定陶不保,曹操重兵围徐州,徐州危矣。”吕布不听,率军返回徐州。陈宫知吕布必败,欲亡去,但因相随日久,不忍弃之。
曹操垂手而得定陶,命乐进率两万精兵在此驻守,起兵十三万攻打徐州。吕布兵力尚存九万,调下邳兵五千往徐州助战,徐州守军达到七万。两军对圆,吕布出战,曹操命徐晃迎之,未及十合,徐晃不支,夏侯渊、于禁、李典、曹洪五将齐出,上前夹攻,吕布精神倍加,力敌众将,高顺、张辽出马相助,曹将抵挡不住,退回三十里下寨。
吕布见曹操虽败,然其兵多将广,甚为难敌,与陈宫商议。陈宫劝曰:“当今天下,能与曹操相抗衡者,唯金旋、袁绍也。今金旋与刘表、刘焉交战日久,无暇顾及。能援主公者,仅袁绍一路兵马,可遣使急赴南皮,说袁绍出兵攻曹操后方。徐州之围可立解也。”吕布命孙登赴南皮请袁绍出兵。
曹操见吕布神勇,诸将莫敌,徐州城防坚固,不易攻取,欲退兵。郭嘉曰:“吕布,猛虎也。今兵少粮尽,正是危难之时。若使其缓此时日,元气恢复,后患无穷。”曹操醒悟,集众人商议。荀攸曰:“今连降暴雨,徐州城南之河水满为患,可决之导水入城,徐州顿成水泽之地,不战自乱也。”曹操命各营兵士屯于高处,决堤导水灌入徐州。陈宫见徐州不可守,劝吕布弃城退至都阳。吕布命张辽率三万兵迁诸将家小往小邳。