夏侯淵在定軍山兵敗被殺,張郃引殘兵退回陽平關。因軍中無主,曹軍驚恐,軍心很是不穩。督軍杜襲與司馬郭淮見事態緊急,遂共推張郃代為軍主。張郃也不推辭,毅然接任,並勒兵布陣,防止劉備乘勝追擊。劉備對曹軍將領了解甚詳,當夏侯淵死後,他歎道:“可惜死的不是張郃,死了一個夏侯淵又有何用?”他對張郃頗為忌憚,得知張郃代為軍主,又見曹軍已經安定下來,遂下令部下停止追擊。
曹操得知張郃代為軍主,他對此次臨時製變很是滿意,立刻遣使假節給張郃,就認可了張郃軍中主帥的地位。當曹操大致安定了朝中事務,其對丟失漢中心有不甘,又提兵向西進發。曹軍先在長安整軍後,揮師西進到達郿縣,曹操決定不從上次進入漢中的陳倉道行走,而是自郿縣西南方向的斜穀進入。
斜穀又稱褒斜道,是此時入蜀的六道之一。此六道自西往東依次為:陳倉道、褒斜道、儻駱道、子午道、庫穀道、武關道,比較而言,褒斜道全程最短,較為便捷,但其中絕壁險灘等險處連綿,與其他蜀道大致相同。曹操所以選擇通過此道進入漢中,是想一旦進入漢中之後,立刻與陽平關的張郃取得聯絡,然後齊頭並進多頭進攻,以重奪漢中。
然而曹軍進入褒斜道的訊息還是被劉備偵知,劉備立刻派兵守衛褒斜道的險阻處,並指示黃忠、趙雲諸將,讓他們斂眾據險而守,不得主動與曹軍交鋒。
褒斜道北起郿縣斜穀口,南至褒穀口(今陝西省漢中市大鍾寺附近),其間棧道沿著褒斜二水而行,全程約五百裏。曹軍進入斜穀之後還算順利,但到了褒穀後半程,黃忠和趙雲領兵據險而守,曹軍每前進一步,遭受的抵抗愈強,曹軍每當奪取一處關隘之後,往往要留下一大片屍體。
如此一來,曹軍通過褒斜道變成了一場攻堅持久戰,兩軍相持月餘,曹軍尚未通過褒穀。曹軍兵士眼見同伴日漸傷亡減少,一些人心生恐懼之心,就在夜色中向後方逃走。他們不敢沿著棧道行走,隻好漫山遍野地亂走,其中的大多數人或饑餓或跌落山澗或被野獸襲擊,又無端地被奪取生命。