曹操欲一举击溃马超,调兵遣将,陆续增兵,二十四万曹军团团围住安定,日夕攻打。马超部将王真、徐荣、王欣原为韩遂旧部,曹操命韩遂写信招降,为马岱所窥,密报马超。马超率兵杀三将及其亲兵,城内益乱,军心不稳。曹操攻城益猛,庞德献计曰:“今观曹军城北营寨不固,守寨兵少。吾率军袭击,或可获胜,以振军心。”马超亲率部下防守北城门,分派诸将防守其余三门,入夜庞德、王基率领五万精兵出城。乐进驻守城北营寨,以马超兵连日不出,防备松懈,被庞德军袭去营盘,折兵三千余。曹操得报,率倾营之兵往攻庞德,庞德寡不敌众,被曹操击败,王基为徐晃所杀。马超见庞德势危,自引兵救回庞德。
曹操军中缺粮,命文钦回长安催之,尚未归,只余三天军粮,曹操欲退军。郭嘉曰:“今赖诸将死战,射死马腾,连败马超,马超势弱。今若退军,使马超恢复元气,马超、马岱、庞德皆勇不可当,若得智谋之士相助,恐为大患也。可召诸将说明困境,命其死战,三日内必可破城。”
曹操见郭嘉所言有理,命诸将猛攻,两日不下。曹操见势危,亲执剑盾往攻,众军见魏王亲战,不避箭矢,军心大振,群起奋攻,天水遂破。马超叔马玩、大将董文护送马超家小,为曹军所截,众人皆力战不屈,无降者,家小都为曹军所害。马超弟马休、马铁为曹兵生擒,宁死不降,为曹操所斩。马超、庞德、马岱率败军退往下弁。
曹操封韩遂为平西候,统天水、西凉、安定三郡,命其率乐进、吕虏共五万兵马驻守,自率大军往攻下弁。马超败回下弁,只余四万兵马,诸将生还者只有庞德、马岱,又闻家小无一幸免,悲痛欲绝。曹军兵围下弁,马超无计可施,召众将商议,马岱曰:“今曹贼重兵围城,孤城难守,必为曹贼所破。诸葛亮大军屯于汉中,可急往求之相救,方可挽回败局。弟即突围求救。”
次日,马超率领精兵护送马岱冲出重围,马岱引十余骑,往汉中而去,马超自回城坚守。马岱星夜赶往汉中,面见孔明,刚刚言完求救之意,因连日不眠,体力不支,昏死过去。诸葛亮命军医急救,安置其到驿馆养病。
曹操与马腾争斗,诸葛亮在汉中拥兵自守,坐看两虎相争。马岱来取救兵,诸葛亮用“围魏救赵”计,派大军攻取长安。曹操闻讯大惊,命徐晃引兵五万救援长安,又使司马懿急赴长安调周边军马守城。
诸葛亮留周泰、向宠率本部四万精兵驻守汉中,带领黄忠、朱恒、文聘、谭雄四将十万精兵攻取长安。长安城内守军十三万,曹仁、徐晃、司马懿率兵迎战。两军对圆,诸葛亮使黄忠出战,徐晃部将朱隽迎之,未及十合,为黄忠斩落马下。徐晃大怒,与黄忠大战,两将相交百余合,不分胜负,各自鸣金收兵。相战几日,诸葛亮见长安城防坚固,城内兵多将广,司马懿诡计多端,率兵返回汉中。