刘备和曹操注定要在汉中一决胜负,两年前曹操取得汉中后,刘备就开始筹划要夺取汉中,进而掌控整个益州和他的命运。
公元218年春天,就在曹操平息那场风波后不久,刘备准备完毕,他兵分两路,自己率领主力进攻夏侯渊驻守的阳平关,另外一路则由张飞、吴兰率领进攻武都,目的是阻截曹操从关中赶来的援兵。不过,刘备兵力有限,自己带领着主力,那张飞、吴兰的兵力自然就不足。
但张飞和吴兰运气不错,吴兰通过一次奇袭,攻占了武都郡的治所下辨县。曹操的战前指挥官曹洪大惊失色,急忙集结精锐,准备收回下辨,打通援军的来路。
张飞当时驻守在固山(今甘肃成县境内),由于兵力不足,所以他到处散布消息,忽悠曹洪,说他要切断曹洪的退路,然后和吴兰前后夹击,将曹洪一战打入地狱。
曹洪是老将,多年以来和曹操并肩作战,也正因为是老将,所以受到了从前经验的束缚。他觉得,张飞乃刘备的三弟,这样一个大家伙前来,肯定兵力充足。如果真如张飞所言,当曹洪进攻下辨时,他和吴兰来个前后夹击,曹洪非死不可。
曹洪正在犹豫时,一个年轻人站出来说:“别听张飞那孙子瞎说,他根本就没有多少兵力,不可能完成夹击。”
曹洪一看讲话的人,原来是曹操派来的曹休。曹休是曹操的亲戚,叫曹操叔叔。曹操让他给曹洪当助理,曹洪始终认为这个家伙没多大本事。现在,听曹休这么一说,就问:“你有什么科学依据吗?”
曹休很礼貌地回答:“刘备早就想和咱们争汉中,可这两年来始终相安无事,原因就是他没有准备好。如今忽然动起武来,肯定是准备充分,动员了全部兵力。既然动员全部兵力,他应该打阳平关才对,为什么派张飞来打武都?”
曹洪也迷惑,问:“为什么?”
曹休回答:“因为他要阻截曹丞相派来的援军。那也就是说,刘备的主力肯定奔阳平关去了,刘备根本集结不了多少兵力,阳平关那边是大战,兵力必须充足,所以张飞这边不可能有多少兵力。正因为如此,我才推测张飞在瞎咋呼。”
曹洪琢磨了很久,说:“哎呀,小曹啊,你从丞相那儿学到不少兵法嘛!”
曹休说:“这算什么兵法,只是基于人之常情的推理罢了。”
曹洪下令:“向下辨进攻。”
让曹洪惊讶的是,驻守下辨的吴兰居然没有任何防御,吴兰大概认为张飞拖住了曹洪。曹洪一抵达下辨就发动猛烈进攻,下辨很快陷落,吴兰手下的几个将军全部战死,他本人逃出下辨,又被曹洪的巡逻队抓获,斩首传到邺城。
张飞在固山得知吴兰玩完,魂飞魄散,他急忙撤军去和刘备会合。刘备的进展相当不错,当张飞来找他时,他已进抵阳平关下,正发起疯狂的进攻。
阳平关防卫司令张郃顽强抵抗,从公元218年阴历三月到当年秋天,阳平关在刘备疯狂的进攻下,屹立不倒。这不但让刘备吃惊,更让前线的张郃和曹操吃惊。
曹操对幕僚们皱眉说:“刘备这小子坐拥小半个荆州和大半个益州,怎么还是如此废物,连个阳平关都打不下来?!”
不过,曹操很快就不再有这种想法了。刘备动员成都的全部有生力量,陆续投入阳平关战场。曹操发现刘备对汉中是势在必得,于是不得不亲自出马。
公元218年秋天,曹操亲征刘备,将前线指挥所设在长安。长安和阳平关还有很长一段距离,曹操本可以再向前推进,之所以不能推进,原因就是许多恼人的问题接踵而来。先是一支乌桓部族发动叛乱,曹操命儿子曹彰平定叛乱。接着是曹操一直看好的宛城守将夏侯音也背叛了他。直到公元219年正月,曹仁才夺回宛城,斩杀了夏侯音。
这两起叛乱,并没有对曹操产生严重威胁,却牵扯了他的精力,以至于他只能驻军长安,不能全力向刘备发起反击。