《三国演义》中,在定军山之战以后,刘备得知曹操命张郃将米仓山囤积的粮食转运到汉水北山下,于是命黄忠、赵云前去劫粮。
黄忠率军先行出发,赵云则在后接应。结果黄忠到了北山以后,被曹军发现,张郃、徐晃引军将他困住。赵云到了午后见黄忠不回,于是带兵杀入重围,救出黄忠、张著等人。
返回大营以后,赵云命令打开营门,偃旗息鼓,弓弩手埋伏在营外的壕沟之内,自己则单枪匹马守在营门。曹军追赶到营前,见到这番景象惊疑不定,不敢上前。曹操下令众军上前,赵云全然不动,曹军见了担心有诈,转身就跑。
赵云趁机下令弓弩手一起放箭,此时天色已经昏暗,曹军不知道蜀军虚实,大败而走。赵云、黄忠引军追杀,大败曹军。
汉水之战在陈寿所著的《三国志》中并没有记载。不过这也并非罗贯中凭空捏造,裴松之在注《三国志》时,引用《赵云别传》的记载,详细叙述了此战。
根据《赵云别传》记载,夏侯渊死后,曹操亲自率军来战刘备,命人在北山下囤积粮草。黄忠认为机不可失,于是率领大军前去劫粮,赵云也把自己的兵马交给黄忠,只带部分将士留守大营。
后来黄忠过了约定的时间还没有回来,赵云就率数十名骑兵前去巡视接应,不想半路上却和曹军主力相遇。曹军前锋见蜀军兵少,就上前攻击。赵云临危不乱,带着骑兵发起反冲锋,将曹军前锋击散,趁着这个机会带着部下杀出重围,顺路还救出了受伤的部将张著,平安返回营寨。
忠过期不还,云将数十骑轻行出围,迎视忠等。值曹公扬兵大出,云为公前锋所击,方战,其大众至,势偪,遂前突其陈,且斗且卻。公军败,已复合,云陷敌,还趣围。将张著被创,云复驰马还营迎著。
回到营中之后,赵云就下令打开营门,偃旗息鼓。曹军追到营门,见到这个情景怀疑有伏兵,就纷纷退去。赵云下令擂鼓射箭,曹军惊慌之下自相践踏,被挤入汉水中淹死者众多。
云入营,更大开门,偃旗息鼓。公军疑云有伏兵,引去。云雷鼓震天,惟以戎弩於后射公军,公军惊骇,自相蹂践,堕汉水中死者甚多。
比较《三国演义》和《赵云别传》两者的记载,最大的差别是《赵云别传》中赵云没有遇到并且救出黄忠,就已经和曹军遭遇退回大营,其他都大致相仿。
从《赵云别传》的记载看,赵云此战虽然没有接应到黄忠,但是他吸引了曹军主力,让黄忠免于遭到曹军围攻,间接为夺取北山曹军粮草立下了战功。另外在战斗中,赵云在形势不利的情况下以少胜多,用计重创曹军,挫伤了曹军锐气,也是为刘备夺取汉中直接立下一功。
当然,因为汉水之战没有被《三国志》收录,而且在其他人传记里也很难找到此战相应的记载,所以也有不少人认为汉水之战只是《赵云别传》里虚构出来的,历史上并没有这次战斗,认为不可信。
但是也有很多人认为裴松之注《三国志》时,距离三国时期的时间不长,当时流传的各种史料比现在要丰富得多。他引用《赵云别传》为注,应该还是有一定依据的,不然肯定会遭到当时人们的非议,因此汉水之战应该可信。
不过不管争议如何,至少可以肯定的一点是,汉水之战并非罗贯中虚构,也有一定的史料依据。