在僵持五十余天之后,在历史演义中素来以勇猛有余而智谋不足著称的张飞主动求变,亲自率军走小路,直插张郃军的腹部。巴西郡山脉众多,山路崎岖难行,中军受袭的张郃军头尾不能相顾,被张飞拦腰截断的队伍迅速溃不成军。无力回天的张郃最后被迫弃马步行,只带着十几个亲随翻山而走。
曹操的不战而退和张郃的拉跨表现让刘备新得的谋士法正看到了机会。建安二十二年(公元217年),法正劝说刘备:“曹操占有汉中却没有趁势进攻蜀郡,这说明他后院出了问题。夏侯渊和张郃都算不上一等一的统帅,这是难得的机会,我们现在要做的就是立即进攻汉中。只要我们拿下汉中,再广积粮食,并以此为出发点备战,做到最好,我们就可以消灭曹操;差一点儿,我们可以逐步蚕食敌人,拓展自己的土地;最次,我们也能保住自己现在的地盘。”
“所以,”法正最后总结道,“这是老天给我们的机会,机不可失。”
刘备是非常信任法正的,有他这番话,又有张飞之前的胜利,刘备便有了信心。建安二十二年初,刘备挥师北上,同时遣张飞、马超、吴兰等进军下辨。结果出师不利,吴兰的军队被曹洪击破,张飞、马超退走。五月,刘备率兵进屯阳平关,亲自与夏侯渊等争夺汉中。