曹操接到張郃的報告,得知夏侯淵被黃忠斬殺,悲憤交加,立即率兵二十萬到漢水與劉備決戰。劉備得到消息,與諸葛亮商議。諸葛亮說道:“如果能燒毀曹操的糧草輜重,曹操必敗。”黃忠請命出戰,諸葛亮便命黃忠、趙雲一起出戰。
黃忠和趙雲約定,由黃忠率領前軍出戰,趙雲率領後軍接應,如果在約定時間黃忠還沒有回來,趙雲便率兵前來接應。當天夜裏,黃忠悄悄渡過漢水,來到北山曹操的屯糧之處,曹軍寡不敵眾,棄糧而逃。黃忠正要令人放火燒糧,張郃趕來與黃忠混戰,不一會兒,徐晃也趕來助戰,黃忠陷入曹軍的包圍。趙雲等到第二天正午,還不見黃忠回來,立即前去接應。率兵殺到北山,見黃忠被曹軍圍在中央,大喊一聲,殺進包圍圈營救。徐晃、張郃見趙雲勇猛過人,不敢正麵交鋒。趙雲救出黃忠,又救出黃忠部將張著,然後退走了。曹軍將士望見趙雲的旗號,紛紛逃竄,不敢與趙雲為敵。
曹操見趙雲救走黃忠、張著,勃然大怒,親自率兵追趕趙雲。這時,趙雲已經退回自己的軍營,部將張翼見曹軍追來,說道:“趕快關上寨門吧!”趙雲說道:“不要關門!當初在長阪坡時,我隻有一個人,照樣殺得八十三萬曹軍人仰馬翻,如今有兵有將,還怕曹操嗎?”於是令弓箭手到寨外的壕溝中埋伏,寨內偃旗息鼓,假裝設下埋伏的樣子。之後,趙雲單槍匹馬站在營門處,等待曹軍前來。
徐晃、張郃追到趙雲的營寨前,見寨中悄無聲息,正在懷疑,又望見趙雲單槍匹馬站在營門外,猶豫不定,不敢前進。正在此時,曹操親自趕到,命令徐晃、張郃殺向趙雲。曹軍呐喊一聲,向趙雲衝來,見趙雲毫不畏懼,一動不動,又退了回來。趙雲見曹兵後退,命令壕溝中的弓箭手放箭,曹軍死傷無數。曹操見了,率先撥馬撤退,曹軍將士見了,紛紛撤退。趙雲率兵掩殺,曹軍被追到漢水岸邊,踩踏和淹死者無計其數。曹操抵擋不住,放棄北山的糧草輜重,退回南鄭城中。趙雲、黃忠大獲全勝,向劉備、諸葛亮報捷,劉備親自率兵挺進到漢水。