214年,刘备进西川得成都,大胜之后危机频出。215年曹操抢先攻取了汉中。派夏侯渊为主将守南郑(陕西汉中市),张郃为先锋深入到巴西(四川达州宕渠),经略三巴。(巴郡,巴西郡,巴东郡)
刘备放弃争夺荆南三郡,与孙权议和。从公安紧急回军成都。此时,西川情势已经危险了。如果任张郃控制巴西,巴东。西川随时可能面临险境。刘备派张飞率精锐一万多人,夺回巴西。张郃在宕渠蒙头寨,与张飞相距五十多天。利用地形扼制张飞的进攻。同时迁移巴西的百姓向汉中转移。
张飞看强攻不能取胜,打探周围地形。发现了隐秘小道可以绕至张郃背后。于是令人在寨前佯攻。自带主力从隐蔽小道绕行张郃背后攻击。张郃大败。带着十几个亲随,从山里逃跑,撤回汉中。张飞顺利夺回巴西。
曹操在巴东招降以及安排的军力,也被刘备委派的黄权击败。斩断了曹操汉中攻略的两条手臂。
217年,刘备接受法正的建议,准备夺取汉中。先派张飞、马超、吴兰、雷铜屯兵下辩(甘肃陇南成县,位于汉中的西北方)。清理汉中侧翼。曹洪,曹休率部阻击。曹休识破了张飞虚实分兵,围点打援的战术。猛攻充当诱饵的吴兰一部。吴兰部被击败,张飞马超无奈退兵。
218年,刘备从成都亲自领兵来打汉中。法正,黄忠,赵云一起出征。夏侯渊率兵与刘备相持在定军山。
刘备用法正的计策,屯兵高处。夏侯渊与张郃分兵两路下寨。据守险要,向上攻山。
刘备分两路出兵,分别攻击夏侯渊与张郃。先另一部猛攻张郃,并且放火烧营,张郃营寨危急。夏侯渊自觉能应付蜀军的进攻,就分兵去救援张郃。哪知是调虎离山之计,黄忠带一只精兵,在半山腰埋伏。法正在山顶监视夏侯渊动向,看到夏侯渊分兵。就在山头用旗帜作为进攻信号。
黄忠得到山顶信号,带领精兵从半山腰向下突击夏侯渊营寨。一举击溃夏侯渊守军。夏侯渊正在营寨外指挥兵士清理路障,被冲下来的黄忠当场斩*。
主将被*,曹操军队败走。张郃率领残部退回汉中。刘备取得了汉中外围的胜利,并占据了优势地理位置。
曹操得知夏侯渊战死,痛心不已。夏侯渊自曹操陈留起兵,跟随曹操东征西战三十年之久。即是曹操的族亲,也是心腹重将。曹操恨极了刘备。亲率大军,前来决战。
219年,曹操与刘备在汉中两军对垒。距离赤壁大战已经过去了十年。两个老对头再一次相遇。仇人见面,分外眼红。摆阵厮*。