东汉建安十三年(公元208年),曹操在平定江南过程中遭遇赤壁惨败,仓皇逃回北方,不仅兵马伤亡过半,而且丢城失地。虽然次年,曹操意欲卷土重来,再次向南方用兵,但考虑到连年征战,兵士劳苦,百姓徭役沉重,且疫病流行,决定放弃继续南进的策略(南进需要建造船只,训练水军,耗资巨大),而是改为西进,意图攻取关中和巴蜀地区。
关中,历来为四塞之地:南面有险峻的秦岭山脉、东面有潼关和黄河天险的保护,西面是陇山与六盘山的崇山峻岭,北面是陕北高原上的子午岭与黄龙山。自古就有“百二秦关”的说法,即凭借关中的险关隘口,用两万精兵就可以抵抗百万大军的进攻,尤其是从东面的中原地区进攻关中,基本上处于仰攻的不利处境。然而,当时割据关中的军阀势力主要由十个大小武装力量组成,其中马超与韩遂是核心力量,这些武装力量平时分散割据于自己的地盘,互相没有严密的统属关系,只是当受到外部攻击的时候,才会暂时联合在一起,共同对敌。
在东南进兵失利的处境下,改道西南用兵,先占据巴蜀之地,控制长江上游,日后再战东吴,统一全国,无疑成为当时曹操最明智的战略转变。然而,要向西南用兵,曹操不得不时刻提防关中军阀的袭扰。于是乎,击破占据关中险要、兵力强大且战力强悍的马韩军阀,自然成了曹操一洗赤壁新败、重振雄风、延续一统全国征程的关键之役。
建安十六年(公元211年)8月,曹操率大军经函谷溯黄河西进,到达潼关,而关中马超、韩遂、侯选、程银、杨秋、李堪、张横、梁兴、成宜、马玩(合称“关中十将”)等十数部军起兵迎战,集结了十万军队,屯于潼关,并且不断向前线增兵,准备与曹军大战。
在得知敌军不断向潼关增兵的消息后,诸多曹将惶恐,唯独曹操不忧反喜,并言道:“犁庭扫穴,孤可在渭水之南平定关中和西凉。”诸将不明,曹操解惑道:“关中道路长远,各方势力割据,一一收服没有三年不可平定。而今,他们全部来到潼关,虽人多势众,但却互不归属,且群龙无首,可一举灭之,省去日后烦恼。”
随着关中联军的所有力量都集中到潼关后,曹操遂派徐晃、朱灵率精骑四千人暗中偷渡浦阪津,据河西为营。一方面接应曹操大军由河东进入河西,另一方面,威胁并袭扰关中联军的粮道。9月,曹军全部从容渡过渭水,并进驻渭南的营地,派重兵守护粮道,稳固后勤。至此,曹军在渭南站稳了脚跟。虽然之后马超与韩遂的关中联军数次向曹军发起挑战,但曹军营盘已稳,且只守不攻,以待敌疲,因此未能成功,由此双方转入相持阶段。
随着战事迁延日久,关中联军粮草日渐稀少,加之长期在外作战,后勤补给未派重兵守护,时刻受到徐晃军袭扰,所以处境愈加困难。就在两军陷入僵持状态的时候,曹操施以离间之计,不仅与韩遂等多位关中将领进行私下和谈,而且在寄给韩遂的书信中故意涂抹修改,令马超疑心大作。几番运作之下,离间计在关中联军中开始发挥效果,敌军逐渐心生厌战情绪,且互生不信任感。
见此情景,曹操抓准时机,立即与马超约期会战。在两军大战中,曹操先以“轻兵”前往挑战,大战了很久以后,再以精锐虎豹骑夹击马超所部,马超军难以抵抗败下阵来,其他关中联军也做鸟兽散。溃败之中,曹军斩杀了成宜、李堪等人,马超、韩遂、梁兴败走凉州,程银、侯选南入汉中投靠张鲁,渭南之战到此结束。经此大战,关中诸将的武装力量损失殆尽,曹操顺利收取了关中,并为下一步进占汉中铺平了道路。