建安十六年公元211年三月,曹操派遣司隶校尉钟繇讨伐张鲁,命令征西护军夏侯洲等率领大军从河东出发,与钟繇会合。丞相仓曹属高柔劝曹操说:“大军向西进发,韩遂、马超会疑心是袭击他们,必然互相煽动。应当先安定三辅地区,如果三辅地区平定,只需发布文书,就能平定汉中。”曹操不听。
关中的将领们果然起了疑心,马超、韩遂、侯选、程银、杨秋、李堪、张横、梁兴、成宜、马玩等十部都起来造反,合起来有十万人马,据守潼关。曹操派遣安西将军曹仁统率诸将抵挡,令他们坚守营寨,不要出战。命令五官中郎将曹丕留守邺城,委任奋武将军程昱协助曹丕处理军务任命门下督广陵人徐宣为左护军,留在邺城统率留守部队任命乐安人国渊为丞相府的居府长史,负责留守事务。秋季,七月,曹操亲统大军,进攻马超等。许多参预军务讨论的人都说:“函谷关以西的士兵善于使用长矛,不挑选精锐部队作前锋,会抵抗不住的。”曹操说:“战争的决定权控制在我手中,而不在敌人手中。他们虽然善于使用长矛,我将使他们的长矛无法刺杀,你们只管着看吧。”
八月,曹操来到潼关,与马超等隔着潼关扎营。曹操表面上对马超急剧施加压力,暗中却派遣徐晃、朱灵率领步、骑兵四千人渡过蒲阪渡口,到黄河以西扎营。闰八月,曹操从潼关向北渡过黄河。士兵先过河,曹操单独与虎贲武士一百余人留在黄河南岸断后。马超率领步、骑兵一万余人前来进攻,箭如雨下,曹操仍坐在折凳上不动。许褚扶曹操上船。船工被流箭射中而死,许褚左手举起马鞍来为曹操抵挡乱箭,右手撑船。校尉丁斐,把曹军的牛马放出来引诱箸人,马超军大乱,兵士纷纷去抢牛马,曹操才得以渡过黄河。曹操大军就从蒲阪渡过西河,沿河作甬道,向南推进。马超等退守渭水流入黄河的渭口。曹操于是多设疑兵,暗中用船装载士兵进入渭水,修造浮桥。夜里,分兵到渭水南岸修筑营垒。马超等乘夜攻营,被伏兵击败。马超等在渭南驻军,派遣使者请求割让黄河以西土地,请求和解。曹操不答应。九月,曹操进军,全部渡过渭水。马超等几次挑战,但曹操仍然不许应战。马超等一再请求割让土地,并请求送儿子去作人质。贾诩部队认为可以假装同意,曹操再问他下一步的策略,贾诩说:“离间他们的联盟而已。曹操说:“我明白了。”
韩遂请求与曹操相见,曹操与韩遂本来是老朋友,于是,他们两人来到阵前,马头相交,在一起说了很长时间,没有说到军事,只是谈论京都的往事与老朋友们,高兴时拍手欢笑。当时,马超等部队中的关中人与胡人都来围观,前后重重叠叠,曹操笑着对他们说:“你们是想来看曹操吗?我也是一个人,并没有四只眼两张嘴,只是智谋多一些罢了。”会面结束后,马超等人问韩遂说:“曹操说了些什么?”韩遂说:“没有说什么。”马超等有了疑心。另一天,曹操又给韩遂写了一封信,信中圈改涂抹了许多地方,好象是韩遂所改的,马超等更加怀疑韩遂。曹操于是与马超等约定日期,进行会战。曹操先派轻装部队进行挑战,与马超等大战多时,才派遣精锐骑兵进行夹击,大破马超等,斩杀成宜、李堪等。韩遂、马超逃奔凉州,杨秋逃奔安定。
将领们问曹操说:“开始,敌军主力据守潼关,渭水以北的道路都空虚无备。但您不从河东进攻冯翊,反而屯兵在潼关之下,过了些日子再北渡黄河,是为什么?”曹操说:“敌军据守潼关,如果我军进入河东,敌军就会分兵把守各处渡口,我们便不能渡过西河。我故意以重兵集中在潼关,敌军就集中力量在南防守潼关,西河的戒备空虚,所以徐晃、朱灵两位将军能轻易取得西河。然后,我率大军北渡黄河,敌军无法与我争夺西河的原因,就在于两位将军已先驻军在那里了。我用车两和树木等,向南修建甬道,既是为了安全,也是向敌军示弱。渡过渭水后修筑营垒,敌人挑战而坚守不出,是使敌军骄傲自大因此,敌军未修营垒,而请求割地。我答应了要求,所以顺从他们的意思是为了使他们自以为安全而不加防备。同时,我们养精蓄锐,一旦发起攻击,好比是迅雷不及掩耳。乐机变化莫测,不能执着于一种方法。”
开始时,关中联军的每一部将领率军来到,曹操都面有喜色,部下将领们询问缘故,曹操说:“关中地区辽阔广大,如果他们各自据险坚守,我们征讨他们,没有一两年平定不了。现在,他们全都集中在一起,人数虽多,但互不相下,军队没主帅,可以一举消灭,比逐一征讨要容易,所以我心中喜悦。”
冬季,十月,曹操从长安出发,向北讨伐杨秋,包围安定。杨秋投降,曹操恢复杨秋的爵位,让他留下来安抚部众。
十二月,曹操从安定班师,留夏侯渊驻守长安,任命议郎张既为京兆尹。张既用怀柔的政策招集流亡在外的难民重返家乡,兴建恢复县城与村镇,受到百姓的拥戴。