刘备和曹操的汉中之战始于建安二十二年,前后历时两年,虽然最后刘备取得了胜利,但是胜的可不轻松。刘备先以张飞、马超、吴兰、雷铜等人兵进下辩,吴兰被曹洪击败,部将任夔战死。吴兰败逃阴平以后氐人首领强端所杀,雷铜也在此战中战死。
此后刘备又命陈式率军10余营进军马鸣阁道,打算切断汉中通向曹魏地区的通路,结果被徐晃击败,蜀军损失惨重,士兵“多死者”。此后刘备又亲自率军来攻打阳平关,在广石之战,刘备以精兵万馀攻打张郃,被张郃击退。直到定军山之战,黄忠斩杀夏侯渊,刘备才扳回一局。此后曹操亲自率军入汉中,刘备据守险要,和曹操对峙数月。
从刘备让诸葛亮调派援军赶往前线,诸葛亮感到压力颇大,在杨洪陈述汉中对益州的重要性,提出“男子当战,女子当运”以后才派兵前往看,此时蜀军损失已经不小,已经没有多少余力,否则诸葛亮不至于如此犹豫。
曹操最后退兵,主要还是蜀道艰难,大军在汉中和蜀军对峙,军粮难以为继,所以不得不撤退,并非是被刘备击败。因此刘备只是利用汉中地利逼退了曹操,并非野战击败曹操。
而且曹操退出汉中以后,并没有马上撤回洛阳,而是坐镇长安。即使在关羽和曹仁在襄樊展开激战,曹仁战局不利的情况下,曹操也只让于禁、徐晃等人先去救援,自己直到十月才返回洛阳。
所以刘备在汉中之战虽然获胜,但是只是惨胜而已。而曹操和曹军主力长期留驻长安,在实力对比上刘备并不占优势。加上曹军的骑兵远胜于刘备,关中平原正适合骑兵发挥威力,刘备北上决战显然难以取胜。
所以在汉中之战取胜以后,刘备在汉中采取了守势,而不是北上。