曹操大怒,命令夏侯渊、曹洪、张合率军二万,从左侧进攻;命令徐晃、朱灵、庞德率军二万,从右侧进攻;曹操自统中军,从正面进攻。
交战仅数日,氐军抵挡不住,纷纷败退。
混战中,窦茂被桂香一枪刺死,氐军夺气。许褚命令虎卫军全线出击,杀得氐军尸横遍野,血流成河。
氐军惨败,使军事要地阳平关直接暴露在曹军面前。
张鲁大惊,急令张卫、杨昂率万余精兵,星夜赶赴阳平关,沿山腰修筑十多里长的城墙。曹军一连攻了几次,无法攻克。
此时曹操见将士疲惫不堪,顿生退军之念。
恰在这时,西平、金城将领麴演、蒋石等人一起杀了韩遂,把他的首级献给曹操。
曹操说道:“西北从此无忧矣。”
杨修建议曹操再等一等,或许军情有变。
曹操苦笑道:“德祖,阳平关固若金汤,难以攻克啊。”
杨修说道:“大军如撤,我军威仪减却不少。不如暂屯于关下,给张鲁造成巨大压力。”
曹操摇头道:“我们在这里呆着,孙权、刘备可没闲着,要防止孙权与荆州关羽联兵,攻我疆土啊。”
突然,许褚入帐禀告:“丞相,告诉你好消息,我在召回山上进攻将士时,不少将士找不到下山的路,误闯敌营。结果我拍马闯入敌营,斩了杨昂,一举夺取了阳平关!”
曹操大喜,问道:“有没有擒诛张卫?”
许褚答道:“没有,已带随从逃往巴中。”
张鲁得知曹军攻占了阳平关,唬得六神无主。
杨任自告奋勇,愿率部迎战曹军,张鲁应允。
曹操趁杨任军立足未稳,遣徐晃、朱灵、庞德率军夜袭敌营,庞德奋起神威,挥刀劈死杨任,张鲁军大败,余众大多数降了曹操。
张鲁溃不成军,逃往巴中。曹公大军进入南郑县,张鲁府库中的珍宝全被缴获。巴郡、汉中郡全部投降。
曹操把汉宁郡的名称恢复为汉中郡;划出汉中郡的安阳、西城新设西城郡,设太守;分设锡郡、上庸郡,设置都尉。
此时传来合淝大捷的消息,张辽、李典、乐进成功抵御孙权军袭击,重创孙权军,守住了合淝。
巴郡的七姓夷王朴胡、宗贝邑侯杜砆率巴地夷人和宗贝民前来归附,曹操下令把巴郡分为东西两部分,让朴胡作巴东太守,杜砆作巴西太守,都封为列侯。
东西二地捷报频传,曹操声望大增,刘协听从群臣之议,授予曹操分封任命诸侯、太守、国相的权力。
曹操设置直到五大夫的各种爵位,与以前的列侯、关内侯加在一起共六等,用来封赏有战功的人。