话说杨昂打算带兵追击曹操,不料刚行进一会山中忽然就起了大雾,雾又大又浓,到了对面看不见人程度。杨昂无奈只得命众人先行停驻等待雾散。夏侯渊抄小路翻过上来只见浓雾弥漫,怕有埋伏只得催促前行,不料误打误撞来到了杨昂的营寨前。杨昂营寨留守的军卒听见马蹄声响以为是杨昂见雾大返回,于是打开营门。夏侯渊带人一拥而入,见是空寨就立马放火烧寨。杨昂留守守寨的人见火起便纷纷弃寨逃走。等到雾散,杨任见杨昂的营寨着火,连忙领兵来救,正在与夏侯渊交战之时,后面张合已经杀到,杨任只得杀出一条路逃回南郑。杨昂此时也发现自己营寨被袭,连忙赶回,被夏侯渊张合堵个正着。而背后曹操也带兵杀到,一下两面夹击,杨昂突围遇到张合,几个回合便被张合砍倒。这时败军逃回阳平关报之张卫。张卫一听关下营寨尽失,半夜弃关而跑。就这样一场大雾,帮助曹操取得了阳平关。
张卫杨任逃回见到张鲁,张卫说道:“山下诸寨已失,因此阳平关守不住了。”张鲁大怒就要杀了杨任,杨任说道:“此事都怨杨昂,我劝他莫要追击,他不听故有此败,我愿再乞一军去迎战曹操,杨任愿意立军令状,不胜提头来见。”杨任立下军令状后,带兵来到南郑安营扎寨。曹操得了阳平关后,命夏侯渊领军先往,夏侯渊与杨任相遇,两军阵前先斩杨任部将昌奇,再施拖刀计斩翻杨任,杨任军再次大败。曹操进兵南郑。
话说张鲁本就有投降之心,阳平关失陷,杨任战死,张鲁这时就想投降曹操了若是,这时阎圃劝道:“主公不可,阳平关未战,降则降已,现在战端以起不可轻降,当今之际主公当撤往巴地,稍作抵抗再降。”张鲁还是比较信赖阎圃,于是采纳了阎圃计策撤往巴地,张卫说道:“如此,待我放火尽烧仓廪府库。”张鲁阻拦道:“不可!仓廪府库本就是国家的财富,我本来就打算投降,怎么能把财富毁了呢。”遂派人封锁府库,连夜带家人逃往巴地。
曹老板一通强攻,南郑城下被攻破。曹操见仓廪府库封存完好,对张鲁此举大为赞赏。于是派人到巴地劝降张鲁,张卫还是不想投降,张鲁无奈只得在曹操兵临城下时,让张卫带兵出战,张卫被许褚斩于马下。曹操早已派人买通杨松,杨松劝张鲁出战不要坐以待毙,阎圃则劝张鲁不要出击。张鲁不听带兵出战,不料还没和曹操交锋,后军就撤回城内。张鲁只得带兵退回城内,谁料杨松闭门不开。这时曹操赶到道:“张鲁还不下马投降!”张鲁此时也不矜持了,直接下马投降。曹操大喜道:“曹某感激你封印府库之心,封你为镇南将军。”至此汉中尽归曹操。
曹操得到汉中后论功行赏,唯独杀了卖主求荣的杨松。话说马超还有妻儿留在张鲁这里,曹操拿下董氏和马秋后,把马秋交给张鲁问张鲁如何处置,张鲁已然决心投降曹操,而且还说过:“宁为曹公作奴,不作刘备上宾。”此时怎不知这是曹操的试探,于是禽兽杀了马秋向曹操表明心迹。曹操对张鲁的表现大为满意,接着又把董氏赏赐给了阎圃。这时司马懿进谏道:“想那刘备不义取得蜀中,加之入驻尚晚,人未归心,今已得汉中,益州必定震动,现在正是进攻的好时机,主公可挟威进军蜀中。“ 曹操叹道:“人的困恼来自不知足呀,既然得陇何故复望蜀。”刘晔也劝道:“司马仲达之言正是,想那诸葛诸葛亮明于治国,关羽,张飞又有万夫不当之勇,假以时日等刘备站稳脚跟,蜀地本就易守难攻,到时再攻打就错失时机了。”曹操说道:“此来我军劳师远征,一路劳苦,士兵们也疲惫了,眼下不适合再继续战斗了。”