建安二十年(公元215年)十一月,曹操平定汉中后,留夏侯渊督领张合、徐晃等守汉中、进逼巴郡,以拒刘备。
同月,张合督诸军南下进攻巴东、巴西二郡,将当地百姓迁徙到汉中。
刘备派征虏将军、巴西太守张飞抗击张合。
张合率军进至宕渠,与张飞相拒五十余日,后被张飞击败,撤回南郑。
建安二十二年(公元217年),法正向刘备献计,认为曹操一举降伏张鲁,却未继续进攻益州,而留下夏侯渊、张合驻守汉中,一定是内部动乱,而夏侯渊、张合的才能不足以守住汉中,应该立即发兵夺取汉中。
法正给了刘备三个取汉中诱人的理由,上可讨伐国贼,尊崇汉室;中可蚕食雍凉二州,开拓国境;下可固守要害,战略持久。
刘备十分赞同,准备率领诸军进攻汉中,发动了历时一年半的曹刘汉中之争。
同年十二月,刘备先派遣张飞、马超、雷铜、吴兰等人攻打下辩。
下辩位于武都郡。
先前曹操出兵汉中之时聊过,武都郡乃长安通往汉中和西川的陈仓道必经之路。
刘备派出得力战将张飞和西凉明星将军马超去下辩入武都郡,显然是想要先行掌控陈仓道的要害,以便斩断曹操支援汉中的路线。
一开始,曹操只收到消息,说刘备准备攻打汉中。
曹操十分镇定,并不惊慌。
因为汉中他留有重兵,加上夏侯渊能征善战,阳平关又易守难攻,料刘备再多人马也无法攻破。
次年,建安二十三年(公元218年)正月,曹操再次收到消息,说张飞和马超等人已经入武都郡。
曹操当即命曹洪为主帅,命骑都尉曹休和议郎辛毗为参军,与偏将军曹真、雍州刺史张既等一道,进军武都郡。
曹操在出征前对曹休说:“你虽名为参军,但其实就是这支军队的主帅。”
曹洪得知此令后,也把军中事务委托给曹休负责。
张飞得知曹洪等人领军杀来,当即决定与马超屯兵固山。
固山在通往阳平关的陈仓道与前往武都郡的崤道之间,正面对着曹军从陈仓到武都郡的补给线。
张飞选择在此地屯兵,就是要做出一副随时准备截断曹洪后方的样子。
因为张飞心里清楚,从人马数量上来说,曹军占据绝对优势。
而且,武都郡一路的目的只是牵制曹军,为刘备大军攻打阳平关保驾护航,并不需要与曹军硬拼。
起初,曹洪看到张飞与马超已经在固山屯兵,便担心后方退路,不敢再进军。
张飞见疑兵之计奏效,便急忙命吴兰等人集结到下辩,并对外大肆宣传,他与马超二人时刻准备袭击曹洪后方。
曹洪生性沉稳保守,不敢在如此关键时候冒险,只好选择暂且停留。
但刘备正亲自集结大军,准备杀向阳平关。
紧要关头,曹休敏锐地发现了其中问题。
他对曹洪说,如果张飞等人真的要埋伏在固山,准备切断后方线路,就一定是隐秘而不是大张旗鼓,所以这是假象。
曹洪一听,觉得很有道理,便采纳了曹休的建议,趁着蜀军兵力尚未完全集结之时,不理会张飞与马超,奔袭下辩。
吴兰,雷铜、任夔等人压根没有想到曹洪会不顾张飞和马超的疑兵之计而领军杀来,被打了一个措手不及。
曹休率领虎豹骑一马当前,杀得下辩吴兰等守将分不清东南西北。
吴兰等人原本就兵力少,很快就被击溃。
尽管雷铜、任夔奋力抵抗,依旧不敌,无法扭转战局。
二人皆战死。
吴兰率领残余紧急撤离,行至半里,被阴平氐人强端斩杀,其首被送到曹操手中。
下辩回归曹军之手。
建安二十三年(公元218年)三月,张飞和马超二人见计谋失效,不得不撤离固山。
四月,刘备大军抵达阳平关外。
征西将军夏侯渊亲率大军,与荡寇将军张合,平寇将军徐晃驻扎在走马岭,镇守阳平关,阻挡刘备前进脚步。
阳平关易守难攻,当初曹操攻打张鲁之时便在此地耗费数月没有进展。
刘备如今面对的是比张鲁还要厉害的夏侯渊等人,自然无法轻易突破。
两军对垒良久,战况没有任何变化。
夏侯渊做好了打持久战的准备,命张合顺着陈仓道枪王广石驻守,一方面是保护陈仓道的安全,可以随时迎接曹操援军到来,另一方面广石可以随时通过沮水南下,切断刘备的退路。
刘备得知情况,鉴于当前许久未能拿下阳平关而大军气势低落,便决定亲率万人大军,顺着沮水来到陈仓道,准备进攻势力较弱的广石张合大军,以便鼓舞大军气势。
广石