刘备要取汉中,亲领四十万大军征讨。孔明用激将法相激,老将黄忠自愿请战。为防万一,孔明派赵云领一支人马从小路接应。
黄忠来到曹军阵前,可夏侯渊一直守着定军山不战。监军法正设计夺下定军山对面的西山,并对黄忠说:“将军可到半山坡据守,我留在山顶。等夏侯渊带兵来攻的时候,我举白旗为号,将军按兵不动;等曹军懈怠疲倦时,我就举起红旗,将军便冲下山去,杀他个措手不及。”黄忠认为这个计策很好,就到山坡上扎下了营寨。
夏侯渊也想夺取西山,就领上人马,到西山下大骂。黄忠在半山上,见山顶上举起白旗,任凭曹军怎么叫喊辱骂也不出战。过了正午,法正在山顶上看见曹军锐气大减,多半士兵都下马休息,十分懈怠,连忙举起了红旗。黄忠看了,一马当先地冲下山来。军士们擂鼓呐喊,也都冲下山来。夏侯渊措手不及,被黄忠一刀砍死于马下。军士们乘势夺了定军山。
曹操亲领二十万大军前来为夏侯渊报仇,把粮草都搬到了汉水的山脚下。当晚,黄忠与赵云约定以第二天中午为期,如果按时回来,赵云就按兵不动;如果不能按时回来,赵云就前去接应。
黄忠与副将张著领兵到汉水北面山下,不料曹军早有防备,将黄忠包围。赵云等到中午仍不见黄忠回来,便披挂上马,对部将张翼说:“你要坚守营寨,不要轻易出动。”说完,带上三千人马,去接应黄忠。刚渡过汉水,曹将二人上前拦住去路。赵云手起一枪,把他二人刺死,曹军兵卒也都被杀散。
赵云来到北山脚下,见徐晃、张颌领着人马正围着黄忠厮杀。赵云大喝一声,拍马挺枪,杀进重围。他舞动手中银枪,左冲右突,往来驰骋,如入无人之境。徐晃、张颌见了,吓得心惊胆战,不敢迎敌。
赵云救出黄忠,边战边走,所到之处,曹军都纷纷退避。走出有一二里地,军士说:“东南那边围困的,一定是副将张著。”赵云听了,一抖银枪,又拍马冲杀过去。围困张著的曹军见来将大旗上绣有“常山赵云”四个字,知道是大战长坂坡的英雄来了,都害怕极了,不等赵云马到近前,就一哄而散了,赵云又把张著救了出来。
曹操听说赵云破了他的包围,又救了黄忠和张著,不由大怒,亲自领军追赶赵云。
赵云回到营寨,部将张翼迎接出来,看见后面尘土飞扬,就对赵云说:“是曹军追上来了,将军快进城来关上寨门,上城楼防护。”赵云说:“用不着关寨门,你看我如何杀敌!”赵云让弓弩手在寨外壕里埋伏,将营内枪旗一律放倒,大开门寨。自己则单枪匹马立于寨外。曹操催促将士直扑蜀营,赵云把枪一招,弓弩齐射,赵云乘机领兵冲出,曹军大败,粮草尽丢,逃回汉中去了。
赵云、黄忠夺了曹军营寨,缴获无数粮草、军马,大获全胜。
刘备得到捷报,和孔明率领大军来到汉水。刘备得知赵云的杀敌经过后,赞叹不已,对孔明说:“子龙一身都是胆啊!”