诸葛亮西征西川之时,周瑜亦率军北征荆襄。前周瑜曾经进言,欲征吕布取下邳、徐州,金旋不许,曰:“吕布神勇,诸将皆非其敌,陈宫多谋,手下张辽、高顺皆智勇双全之将,攻其必下,损伤则众。徐州、下邳临近袁绍、曹操之界,乃是非之地。攻之甚易,防之则费军力。今借吕布英勇,可视为我北方屏障。吾等趁机聚集精兵强将,西征西川,北征刘表。得徐州乃得数郡之地,弃徐州可得十余郡也。”周瑜大为悦服。
江夏太守黄祖善治水军,城中水军精悍,周瑜以太史慈部交换甘宁水军,统领大军攻取江夏。金旋见江陵防守空虚,自统兵攻打江陵。
时刘表诸郡防务空虚,手下众人只有黄祖有大将之才。刘表让黄祖率领两万精兵驻守江夏,刘备部将刘封率领一万步卒助守;命长子刘琦率领两万精兵驻守江陵,刘备部将关平率领一万步卒助守。
刘表闻知金旋起兵两路来攻,连忙派使人求助刘备。刘备刚得宛城,诸事繁琐,又须提防曹操、袁术来攻,无将可援。刘表调向朗率领上庸兵两万奔赴襄阳,帮助次子刘琮驻守。自率两万精兵奔赴江夏,又命陈矫率一万兵急赴江陵。复命张绣为上庸太守,率所部驻守上庸,命张绣部将龚都率一万兵援助江陵。
周瑜即时调兵遣将,留下李异、陈武两将驻守庐陵,率领赵云、甘宁、蒋钦、凌操四将起水陆兵七万,攻江夏。金旋率太史慈、许诸、凌统、全琮、丁奉五将,以陆逊为军师,起兵七兵,取江陵。金旋大军途经建平,建平守备向宠荐蛮人沙摩诃,金旋知其富勇力,使其为许诸副将。
周瑜军到达江夏,与黄祖部交战,黄祖部大败。时刘表援军至,救得败兵回城,江夏守兵增至五万兵马。刘封见周瑜兵骄,劝刘表率军劫营,刘表从之。周瑜不备,为刘表军杀败,折兵三千余。
两军相持日久,江夏粮尽,刘表使船往襄阳取粮。周瑜得讯大喜,命甘宁、凌操两将各率水军一万,昼夜夺其粮船。刘表命黄祖率水军护粮,由是两军日夕在江面上水战,黄祖水军兵寡,屡战屡败。刘表见粮草不继,当以速战为上策,命刘封赴周瑜营下战书。周瑜久攻不下,正虑刘表不出,于战书上批“来日决战”。
次日,两军于江面布阵。刘封率兵挑战,周瑜因凌操久居江东,善知水性,使凌操应战。周瑜暗命军中善泅水兵,将芦苇中空,口衔芦管,毁刘封战船,生擒刘封。黄祖率军来夺,为甘宁部水军所阻,两军发生大战,彼此死伤惨重,江水被染红。大战一日,不分胜负。
此日周瑜暗令赵云率领一万骑兵袭击江夏,江夏守兵极少,为赵云一举攻下。刘表军知江夏失守,军心大乱,败走襄阳。周瑜尽夺其船只辎重。
刘备闻刘表战事吃紧,使张飞、张达驻守新野,命关羽率领两万精兵,援助刘表。关羽部行至长坂,正逢刘表败军,上前杀散追兵,在长坂安营扎寨,招纳溃败士兵。
次日,周瑜率赵云、蒋钦、凌操诸将赶到,两军交战。关羽出战,周瑜使蒋钦迎之,交战未及十合,蒋钦气力不加,得赵云上前方才救回。午后再战,赵云出马,与关羽对敌,赵云挺枪直取关羽,关羽挥刀来迎,两马相交,大战上百合,两将武艺相若,将逢对手,杀得难解难分,战场上征尘蔽日,杀气冲天。周瑜担心赵云有失,鸣金收兵。两军相持于长坂。
时曹操与吕布刀兵又起。曹操见金旋接连攻城掠地,声威显赫,西川、荆襄均非其敌,心中忧虑。欲西征张鲁、马腾,然后下西川,分金旋之势,又恐吕布、袁绍来攻,一时不决。徐州、下邳两郡天旱歉收,吕布军中缺粮,其部将扰谯城郡州县。曹操以此为由,命夏侯淳、程昱率领五万精兵屯定陶,阻住徐州、濮阳通道。亲率十万大军攻打濮阳,
吕布此时共拥精兵十三万,徐州守军六万,下邳守军三万,濮阳守军三万,都阳守军一万。臧霸、卞喜、程远志三将统兵驻守濮阳,听闻曹操来犯,速往徐州告急。吕布急调下邳守军一万五千兵马急赴徐州,命高顺、孙登率两万五千兵驻守徐州,与张辽、陈宫率五万军援救濮阳。
大军来到定陶,夏侯淳、程昱率军挡住出路,两军交战,夏侯淳部不敌,被吕布杀败。夏侯淳、程昱统败兵退入定陶,使人急报曹操。曹操此时重兵攻打濮阳,臧霸率军固守,一时不下,命大将李典率两万军援救定陶。
曹军援兵赶来,陈营见曹军兵众,程昱多谋,命张辽率两万军分营立寨。夏侯淳见援兵来到,与诸将商议。程昱曰:“吕布英勇,诸将不敌。若使李典率一万军诈攻徐州,吕布众将家小皆居徐州,军心必乱。待吕布分兵往救,公引兵劫其营,必胜也。”夏侯淳命李典率兵往攻徐州,吕布闻讯大惊,与陈宫商议。陈宫曰:“此程昱分兵之计也。可将计就计,命高顺率一万军出徐州,命张辽率两万军从后追杀。宫与公分兵伏之,只留空营以待曹军。曹兵虽众,必败也。”吕布命高顺出徐州,张辽出定陶。于半途正逢李典军,两路夹击,李典大败,折兵三千。夏侯淳见张辽兵出,至夜率四万兵劫营,到得吕布营中,见是一座空营,心知中计,正欲退军,吕布、陈宫两路伏兵杀来,夏侯淳部大败,立不往阵角,被吕布抢入定陶。夏侯淳、程昱见大势不妙,弃定陶退往陈留。
曹操闻定陶兵败,召众相商。郭嘉曰:“今濮阳所赖者,臧霸也,可伪撤兵攻定陶,诱臧霸出,伏兵擒之。臧霸若失,濮阳必立下也。”曹操纳其计,伪撤军,使夏侯渊、乐进、徐晃、于禁四将伏兵于途。此时臧霸听闻定陶胜讯,见曹操撤军,引兵追击其后军,为四将伏兵阻断归路,率部力战,力尽被擒,归降曹操。曹操命臧霸招降濮阳守军,卞喜、程远志带兵出降。曹操尽得濮阳之众,于濮阳整军。半月,诸事皆毕,曹操命夏侯渊率军驻守濮阳,命夏侯淳、李典率兵五万出陈留,自率八万兵出濮阳,合击定陶。
濮阳失利,全军覆灭,吕布闻讯大惊,欲撤军保徐州。陈宫劝曰:“濮阳已失,定陶为徐州保障也,若定陶不保,曹操重兵围徐州,徐州危矣。”吕布不听,率军返回徐州。陈宫知吕布必败,欲亡去,但因相随日久,不忍弃之。
曹操垂手而得定陶,命乐进率两万精兵在此驻守,起兵十三万攻打徐州。吕布兵力尚存九万,调下邳兵五千往徐州助战,徐州守军达到七万。两军对圆,吕布出战,曹操命徐晃迎之,未及十合,徐晃不支,夏侯渊、于禁、李典、曹洪五将齐出,上前夹攻,吕布精神倍加,力敌众将,高顺、张辽出马相助,曹将抵挡不住,退回三十里下寨。
吕布见曹操虽败,然其兵多将广,甚为难敌,与陈宫商议。陈宫劝曰:“当今天下,能与曹操相抗衡者,唯金旋、袁绍也。今金旋与刘表、刘焉交战日久,无暇顾及。能援主公者,仅袁绍一路兵马,可遣使急赴南皮,说袁绍出兵攻曹操后方。徐州之围可立解也。”吕布命孙登赴南皮请袁绍出兵。
曹操见吕布神勇,诸将莫敌,徐州城防坚固,不易攻取,欲退兵。郭嘉曰:“吕布,猛虎也。今兵少粮尽,正是危难之时。若使其缓此时日,元气恢复,后患无穷。”曹操醒悟,集众人商议。荀攸曰:“今连降暴雨,徐州城南之河水满为患,可决之导水入城,徐州顿成水泽之地,不战自乱也。”曹操命各营兵士屯于高处,决堤导水灌入徐州。陈宫见徐州不可守,劝吕布弃城退至都阳。吕布命张辽率三万兵迁诸将家小往小邳。