张鲁逃到巴中时,偏将军黄权对刘备说:“如果失去了汉中,三巴之地就受到了威胁,这等于是砍断了益州的左膀右臂。”于是,刘备任命黄权为护军,率领众将北上迎接张鲁,但张鲁已经离开了三巴,回到南郑,投降了曹操。黄权遂率军击破了朴胡、杜濩、任约之众。曹操得知刘备前来争夺三巴,遂命令平狄将军张郃都督各军南下三巴,打算将当地百姓迁到汉中,曹军一直推进到宕渠(今四川省渠县东北九十里,俗称车骑城)、蒙头(在宕渠东北七里,称为八濛山)、荡石(亦在八濛山附近)。刘备命令巴西太守张飞率领一万人马前去迎战,两军相持了五十多天,张飞从小道截击张郃,因山路狭窄,曹军虽然人多,但前后无法接应,遂被张飞打得大败。张郃丢掉马匹,仅与手下数十人沿着山间小路仓皇逃回汉中,刘备遂安然回到了成都。《三国志·先主传》称张飞与张郃的交战之地在瓦口,该地当在宕渠附近。
宕渠之战发生在建安二十年年末,距离曹操撤出汉中仅仅数月,此战一举稳定了纷乱的益州局势,令益州转危为安。战后,张飞亲自挥笔写下:“汉将军飞率精兵万人大破贼首张郃于八濛,立马勒石”几个遒劲的大字,并将这几个大字镌刻在八濛山的石崖上,至今我们尚能看到。
促使曹操回师的除了不愿长期滞留在汉中这片穷山恶水之间以外,似乎还有越来越危急的东南局势。就在建安二十年六月左右孙刘两家重归于好之后,孙权就率领大军从陆口东撤了,到了八月,孙权率领十万吴军就包围了合肥。当时曹军张辽、李典、乐进仅仅率领七千多人驻守在合肥,等到孙权到来后,三将打开了曹操提前送来的书信,只见信中写道:“如果孙权前来,张辽、李典将军出战,乐进将军驻守,护军薛悌不得出战。”曹操为何如此安排?胡三省称:是因为张辽、李典勇敢,而乐进持重,薛悌是文官,所以才如此安排。但纵观三将的传记,我们倒是觉得乐进与李典相比更加果敢一些,总是冲杀在最前面,《乐进传》中也说乐进的儿子乐綝“果毅有父风”,而李典则更像一位谦谦君子,因此,胡三省的判断并不能让我们满意。个人认为,曹操这样安排是由于:作为五子良将之首的张辽雄武过人,临战总是意气风发,毫无畏惧,特别善于打恶仗和硬仗,在曹操北征乌桓蹋顿时,正是张辽的勇气才让曹军大获全胜,对此,曹操也是非常佩服的;李典素来儒雅,又与张辽不和,让二人出战,可以用张辽的勇气带动和激励李典,李典自然不甘落到张辽后面,二人可以比赛着杀敌,定能取得胜利;至于乐进本来就非常果敢,但毕竟冲动,令其守城亦绰绰有余。
众将认为敌众我寡,难以主动出击,都心生疑窦。张辽对大家说:“大人出征在外,等到援军到来,敌人肯定已经破城了。因此,大人命令我们趁敌军尚未完成集结,就出动出击,以挫败他们的锐气,安定军心,然后才能守住合肥。”乐进等人无人发言。张辽见状大怒,说道:“成败之机就在今日,你们大家如果心存疑虑的话,我张辽一人独自出战!”李典素来与张辽不和(可能是因为张辽担任吕布部下时曾杀死过李典家族的人,而《李典传》称三将之间均不和睦),听到张辽这么说,也不愿落到人后,他慷慨说道:“这是国家大事,我只是在考虑你的计策可行不可行罢了,我岂能以私怨而忘掉了大义!我愿意随将军一起出战。”于是,张辽连夜招募了八百名敢死队员,杀牛犒赏将士,等到第二天凌晨,张辽身披铠甲,手持画戟,冲在队伍的最前面。他亲手杀死了数十名吴军,斩杀两员吴将,高喊自己的名字,旋风一般冲入吴军大阵之中,如入无人之境,一直冲到了孙权帅旗之下。
孙权大惊,赶忙逃往一座高高的坟墓之上,命令卫士手持长戟四面护卫。张辽在坟墓之下高呼孙权名字,呵斥他下来决一死战,孙权不敢动弹,但看到张辽身边的士兵人数很少,遂命令部队将张辽包围了一层又一层。只见张辽奋起神威,挥舞长戟,左挡右击,杀出了一条血路,率领数十名亲兵突出重围,包围圈内的曹军呼喊道:“将军,你要丢下我们吗?!”张辽听到后,又调转马头,再次冲入包围圈内,救出余众。吴军被杀得人仰马翻,无人能挡。张辽、李典率领的这八百壮士与吴军从清晨一直杀到中午,吴军士气全失,转而投入防御,城内守军这才安下心来,众将无不心服口服。
孙权率领吴军将合肥包围了十余天,但一直无法攻克城池,军中又爆发了传染病,孙权遂决定撤军。吴军大部队依次撤离合肥,孙权与庐江太守吕蒙、折冲将军甘宁、偏将军陈武荡寇、中郎将兼右部督凌统、讨越中郎将蒋钦等将亲自率领一千余名车下虎士(吴军精锐中的精锐)断后,停留在合肥城东的逍遥津北岸。张辽从城上望见后,立即率领步骑杀出城外,冲到孙权近前。甘宁张弓搭箭,射杀无数曹军,与凌统等人与曹军殊死搏斗,在激战中,甘宁还厉声喝问为何军中不擂响战鼓?孙权命令追回大军,但大军已经走远,一时难以回来。凌统率领三百名亲兵冲入曹军之中,将孙权救出重围,把孙权送到逍遥津桥头,凌统又率领人马回身杀入曹军。当时曹军已经将桥梁毁坏,只剩下两块木板(《三国志·吴主传》注引《江表传》则称,桥上有一丈多没有木板)。孙权跨马登上了桥头,只见那马逡巡不进,亲近监谷利紧随孙权身后,让孙权放松缰绳,紧抱马鞍,谷利在马后狠狠抽打,那匹骏马一声长嘶,跃起四蹄,飞过桥去。奋武将军贺齐率领三千人马来到南岸接应,孙权这才脱离了危险。中郎将徐盛在激战中负伤,长矛遗失,贺齐之兵与曹军厮杀,又夺回了徐盛的长矛。
凌统身受重伤,身边的三百名壮士全部战死,他亲手杀死数十人之后,觉得孙权已经安全脱身,这才边打边撤。来到桥边,桥已完全毁坏,只好身披铠甲潜入水中,被吴军救起。孙权见到凌统后又惊又喜,凌统想到自己的亲兵全部战死,不禁悲从中来,泪流满面。孙权亲自用衣袖给他擦拭眼泪,说道:“公绩(凌统字)啊,死的已经死了,只要你还活着,就不用担心手下无人。”凌统的伤非常重,孙权将其留在自己的大船上,亲自护理,将他的衣服全部换下,幸赖江东名医卓氏的良药,凌统才侥幸活了下来。
激战中,孙权最为亲近的部将、偏将军陈武战死,宋谦以及中郎将徐盛的部队全都败退,武猛校尉潘璋在他们的身后,立即飞马向前,斩杀了两名宋谦、徐盛部的士兵,二将的部队遂又回身死战。
此战孙权几乎性命不保,张辽询问吴军俘虏:“刚才那位紫色胡子的将军,上身长下身短,弓马娴熟的,是谁?”俘虏回答:“那就是孙将军。”张辽与乐进相遇,对乐进说自己早一点不知道,如果猛追的话,一定能够追上,曹军全军上下都非常惋惜。这一记载出自《汉晋春秋》,但该记载似乎并不属实,这是因为,在十几天之前,张辽就已经冲杀过一次吴军,并对登上高坟墓之上的孙权喊话,而此时岂能又说不认识孙权呢?不过,此战过后,张辽的确威名大震,据《太平御览》注引《魏略》称,战后,小孩啼哭不止,父母就用张辽的名字来吓唬孩子。曹操对张辽的勇敢大为赞赏,晋升其为征东将军。
登上大船后的孙权设宴款待众将,贺齐离开坐席,哭泣道:“至尊身为主公,应当处处稳重,今日之事,几乎酿成大祸,令群臣无比震惊恐惧,好像失去了天地,希望主公能引以为戒!”孙权亲自来到贺齐跟前,替他擦去眼泪,说道:“我这次已无比羞愧,早已铭刻在心,不仅仅是当成座右铭啊!”孙权的父亲孙坚、哥哥孙策以及弟弟孙翊等都因轻率死于非命,这也许是孙氏的家风吧。
战后,孙权晋升有功之臣凌统为偏将军,分配给他一倍原来的部队;晋升蒋钦为荡寇将军,濡须都督;拜潘璋为偏将军,率领百校兵,驻守半洲;封谷利为都亭侯。后来,孙权迁都武昌,一次,建造了一艘大船,取名长安,进行试航,可是当天却遭遇大风,孙权执意要驶往罗州,而谷利却拔出佩刀严令船工驶往樊口,孙权说:“阿利,你怎么这么怕水?”谷利回答:“大王是尊贵的主公,却轻率地临于不测的险地,船楼很高,一旦船只倾覆,将如何是好?”从此孙权对谷利很是看重,不再直呼其名,只称一个字谷。孙权对陈武的死非常痛心,亲临祭奠,下令将其爱妾殉葬,并免除了陈武二百家宾客的赋税。
东晋孙盛在评价此战时说:“夫兵固诡道,奇正相资,若乃命将出征,推毂委权,或赖率然之形,或凭掎角之势,群帅不和,则弃师之道也。至于合肥之守,县弱无援,专任勇者(指张辽)则好战生患,专任怯者(应指李典)则惧心难保。且彼众我寡,必怀贪墯;以致命之兵,击贪墯之卒,其势必胜;胜而后守,守则必固。是以魏武推选方员,参以同异,为之密教,节宣其用;事至而应,若合符契,妙矣夫!”