建安二十三年,刘备开进阳平关,与夏侯渊对峙。在对峙时期刘备多次攻击夏侯渊,但是“数战不利”,最后刘备南渡沔水,直插定军山。夏侯渊的军营是在平地上的,而刘备的军营在定军山上,居高临下,对夏侯渊十分不利。因此夏侯渊引兵攻打定军山、张郃从东面攻打定军山,但是大耳贼好不容易打到定军山,岂是你说夺就夺的,双方围绕着这块高地展开激烈的战斗。
因为僵持不下,所以夏侯渊开始修鹿角工事,这个鹿角大概就是这个样子:
刘备先是猛攻张郃防线,张郃不是刘备的对手,于是夏侯渊分兵一半给张郃。不得不说这是一个两难的问题,分兵会导致实力虚弱,容易被敌人逐个击破;但是如果不分兵,任由张郃防线崩塌,那么刘备很容易包围夏侯渊,到时候夏侯渊想逃都没办法。中国有很多关于老人的说法,比如“老奸巨猾”,这个词用在刘备身上挺合适的。刘备重挫张郃防线之后并没有从这里打开突破口,反而是直面夏侯渊防线。
前面我们说了,鹿角工事是木制的,木制的弱点是什么?容易火攻!刘备对火老有缘分了,官渡一把火把老东家袁绍搞死了、赤壁二把火就把曹操的统一梦烧成灰烬、夷陵三把火差点把自己烧死,这三把火刘备都参与了,这一次刘备也是用火攻突破的防线。刘备用火烧了南围的鹿角工事,汉中守将夏侯渊急急忙忙的跑出来灭火。结果刘备军队趁机攻打夏侯渊,黄忠一刀劈死了夏侯渊,突破了南围防线。张郃迅速收缩防线,退守阳平关。由于张郃资历比较老,所以曹军将领纷纷推举张郃主持大局,最后在张郃的节度下曹军军心才得以安稳。
随后刘备准备渡河攻打阳平关,曹军将领认为应该以水为阵,步步阻击刘备,但是郭淮认为应该撤离河边,给刘备渡河的机会,然后在刘备渡河一半的时候突袭。“半渡而击”这招效果非常好,在历史上多次应验了,刘备担心曹军“半渡而击”所以放弃攻打阳平关。随后曹操从长安走斜谷道来汉中,亲自督战。刘备听说这事之后说道:“汉中是我的,曹操来也没用,我说的”
两大阵营都非常重视汉中,曹操运数千万囊军粮到北山、刘备更是尽起益州兵,当时诸葛亮问杨洪为啥调这么多兵,杨洪直接说:“汉中是益州咽喉,失去汉中,蜀汉早晚凉凉,所以必须发兵。”诸葛亮认可汉中的重要性,因此全力支持刘备,蜀汉都到了“男子当战,女子当运”的地步。
在长期对峙时期黄忠提出偷袭北山的建议,也就是掠夺曹操的粮草,或者复制一次官渡之战。这个计策十分冒险,基本上可以说是九死一生。但是如果成功了,那么曹魏必定会因为粮草不济而后退,届时曹操就会重蹈袁绍的覆辙,火烧乌巢的场面再次上演。可惜的是黄忠失败了,赵云率领几十个骑兵去接应黄忠,并且遭到了曹军先锋部队的攻击。赵云且战且退,最终退到营寨,不过曹军也追到了营寨之外。