过了七天,从蜀地投降的人说:“蜀地一天发生几十起骚乱,守将杀了闹事的人也压不住。”曹操问刘晔:“现在还能打吗?”刘晔摇头:“现在局势稍微稳定了,不好打了。”曹操这才决定撤军,留下夏侯渊、张合、徐晃等人镇守汉中,让杜袭管理汉中事务。杜袭安抚百姓,引导大家迁徙,自愿搬到洛阳、邺城的百姓多达八万多人。
八月,孙权亲自率领十万大军包围合肥。当时张辽、李典、乐进带着七千多人驻守合肥。曹操去征讨张鲁前,给护军薛悌留了封信,写着“敌人来了再打开”。孙权兵临城下,众人拆开信,上面写着:“孙权来犯,张辽、李典出战,乐进守城,薛悌不要参战。”将领们都觉得敌我兵力悬殊,心里犯嘀咕。
张辽说:“主公远征在外,等救兵赶到,我们早被打败了。这封信的意思,是让我们趁敌军还没集结,主动出击,挫其锐气,稳定军心,才能守住城。”见大家犹豫,张辽急了:“成败在此一举!你们要是害怕,我一个人去!”李典平时和张辽关系不好,这时却慷慨地说:“这是国家大事,听你的!我怎么能因为私人恩怨耽误大事?”
当晚,张辽招募了八百名敢死队,杀牛犒劳。第二天一早,他身披铠甲、手持长戟,带头冲锋,一口气杀了几十人,斩了两名大将,边冲边喊自己的名字,直接杀到孙权的主帅旗下。孙权吓得慌了神,跑到高坡上,举着长戟防身。张辽大喊:“孙权,下来一战!”孙权不敢动,等看清张辽人少,才下令包围。张辽左冲右突,带着几十人杀出重围。剩下的士兵大喊:“将军要抛弃我们吗?”张辽二话不说,又杀回去,把其他人救了出来。东吴士兵吓得四散奔逃,没人敢挡。从早上打到中午,吴军士气全无。张辽趁机回城加固防守,军心这才安定下来。
孙权围攻合肥十多天,始终攻不下来,只好撤军。大军正走着,孙权和将领们在逍遥津北边休息,张辽远远望见,立刻带着骑兵杀了过来。甘宁、吕蒙拼命抵挡,凌统带着亲兵保护孙权突围,自己又回去和张辽死战,手下全部战死,他也身受重伤。确定孙权安全后,凌统才撤回。孙权骑马逃到逍遥津桥边,发现桥面木板被拆掉,中间空了一丈多。亲随谷利在马后大喊:“主公抓住马鞍,放松缰绳!”然后狠狠抽了马一鞭子,马奋力一跃,孙权这才逃过一劫。贺齐带着三千人在桥南接应,孙权这才脱险。
后来在大船上庆功时,贺齐哭着劝道:“主公身为一国之君,一定要谨慎!今天的事太危险了,大家都吓得魂飞魄散,您一定要记住这次教训!”孙权亲自上前擦掉他的眼泪:“我真是惭愧,一定铭记在心,绝不只是说说而已!”
九月,巴地、賨地的首领朴胡、杜濩、任约带着部下投降曹操。曹操把巴郡一分为三,封朴胡为巴东太守,杜濩为巴西太守,任约为巴郡太守,还都封了列侯。十月,曹操开始设立名号侯,专门用来赏赐有军功的人。
十一月,张鲁带着家人投降,曹操亲自迎接,封他为镇南将军,以贵宾之礼相待,还封他为阆中侯,食邑一万户,张鲁的五个儿子和阎圃等人也都封了列侯。史学家习凿齿评价:阎圃曾劝张鲁不要称王,曹操却追封他,这样一来,以后谁不想归顺?堵住叛乱的源头,乱象自然平息,说的就是这个道理!如果只知道重赏拼死作战的人,百姓就会觉得战乱有利可图,天下就永无宁日了。曹操这一封赏,可谓深谙赏罚之道。程银、侯选、庞惪也跟着张鲁投降,曹操恢复了程银、侯选的官爵,封庞惪为立义将军。
张鲁逃到巴中时,刘备的谋士黄权劝道:“如果丢了汉中,巴地就危险了,这就像砍断了蜀国的臂膀!”刘备任命黄权为护军,带兵去迎接张鲁。可惜张鲁已经投降曹操,黄权只好转头攻打朴胡、杜濩、任约,将他们击败。曹操派张合进军巴地,想把百姓迁到汉中。刘备派张飞迎战,双方对峙五十多天后,张飞发起突袭,大败张合。张合逃回南郑,刘备也返回成都。
曹操把原来韩遂、马超的五千多士兵调出来,让平难将军殷署等人统领,任命扶风太守赵俨为关中护军。曹操让赵俨派一千二百名士兵去支援汉中防守,由殷署负责押运。但这些被派去的士兵心里都不乐意。赵俨护送他们到斜谷口后返回,还没到军营,殷署所督的军队就发生了叛乱。
当时赵俨身边只有一百五十名步兵和骑兵,而且这些人大多是叛乱者的亲友。他们听说叛乱的消息后,个个惊恐万分,立刻披上铠甲、拿起武器,心神不宁。赵俨却不慌不忙,耐心地给他们分析成败得失,言辞恳切地安抚鼓励。众人听了,激动地说:“不管是生是死,我们都跟着护军,绝无二心!”
赵俨带着他们来到各个营寨,分别查访、甄别出八百多个参与叛乱谋划的人,这些人当时分散在四处。赵俨下令,只惩治带头谋划叛乱的人,其他人一概不追究,各郡县抓起来送来的人也全部释放。这么一来,那些参与叛乱的人纷纷回来投降。
赵俨