金旋在曹仁败退之后,任命陆逊为中路军元帅,率领部下还屯筑阳,自回长沙处理军政要事。刘备因接连作战,诸事荒废,亦整兵休养。曹操最初担心金旋有北上之意,见其按军不动,决定出兵攻打汉中张鲁。
初张鲁拥汉中、下弁两郡,其弟张卫、****、冯习皆有将才,谋士许靖、阎圃多谋,雄踞西北,常出兵与刘表相争。后被马腾连败,失下弁,兵势遂弱。又宠爱张松,渐夺众将之权,众将分心,其势益弱。后来张鲁见曹操占去长安,金旋夺了上庸,马腾屯兵下弁,都有吞并之意,采纳张松之计,请降曹操。曹操此时战祸连连,见其归降,大喜过望,封其为西北侯。后马腾相侵,长安势危,曹操遣使命其出兵援救长安,张鲁见马腾兵精将勇,又恐耗费钱粮,屯兵不至,长安险被攻破,幸王双等拼死守住。张鲁惧曹操怪罪,复反。
汉中守兵只有六万,见曹操率领十万大军来攻,使其弟张卫率****、冯习、阎圃等统兵五万屯于散关御敌。又使张松为使,请马腾起兵攻长安,扰乱曹军后方。马腾本与曹操有怨,见长安空虚,起兵十万来犯。
曹操使大将乐进、吕虏率领六万士兵驻守长安,闻讯飞报曹操。曹操命李典、臧霸、贾诩率三万士兵还守长安,自率兵七万攻打汉中。
诸葛亮见汉中大军皆赴散关御敌,命黄忠率本部军为先锋,星夜兼程偷袭汉中,自率大军随后赶来。汉中各处关隘防守空虚,黄忠大军一到,皆星散而逃,黄忠部顺利到达汉中城下。汉中城内仅一万老弱残兵,黄忠精锐之师,虎狼之军,不及天明,攻克汉中,张鲁率败军退往散关。
张鲁败军到达散关,众将闻汉中失守,军心浮动。曹操率大军来攻,一触即溃。张松为曹兵生擒,被曹操斩首。张鲁兵败,无处可投,率败军绕路汉中,赴下弁欲投马腾。刚过汉中,朱恒、文聘、周泰、谭雄四将伏兵突起,将张鲁围与核心,张鲁扮作小军,匹马逃往下弁。部下全军覆灭,其弟张卫被周泰所斩,****、冯习、许靖、阎圃率军投降。
曹操见大军一番苦战,反被诸葛亮占地夺军,心中无名火起,率军来攻汉中。诸葛亮大军倍于曹操部,屡败曹军。又暗命朱恒率军袭击曹操粮道,夺其粮草。曹操军粮尽,退往长安,后军途中遭伏,被黄忠、谭雄、周泰三将率六万军击溃,折兵近两万。
金旋任命华歆任汉中太守,全琮之弟全端为汉中守备,任命冯习为长坂守备,****为筑阳守备。将张鲁、曹操降兵收编于各军。
马腾军攻打长安,正逢曹操引军败回,马腾率军复冲杀一阵,曹操大败,折亲兵将领车胄,李典、乐进率城中精兵接应,曹操得以入城。马腾见曹操重兵返回,长安工事坚固,兵多将广,率军返回安定。车胄跟随曹操日久,为曹操心腹大将,命丧马腾之手,曹操极为恼火。曹操遂于长安整顿兵马,调兵遣将,准备攻取西凉。
吕布见曹操大军西征,趁机招兵买马,恢复元气。欺负孔融兵寡,让张辽、陈登守下邳,侯成、宋宪守都阳,自与陈宫、高顺等将率兵五万攻取北海。北海孔融,为孔圣人之后,博学多艺,通古知今,然不知兵事,军事皆依赖管亥、武定国两将。
吕布大兵来到北海城下,管亥率领诸将出城迎战,吕布部下骁将牛金出战,管亥命部将严政迎之,不及十合,牛金斩严政于马下。武定国大怒,拍马出阵,高顺副将毋丘俭迎之,两将大战三十余合,不分胜负。吕布搭弓射之,正中武定国左臂,管亥率部下救之。吕布挥军杀上,北海军不敌,退入城中,不敢出战。孔融使人求救于袁绍。
袁绍此时兵强马壮,又无边事,粮草极盛。常怀取北海之心,因孔融乃圣人之后,为人宽厚,无起兵之由。见孔融求救,正合心意,派大将颜良、高览率五万大军援救北海。
吕布攻势甚猛,官亥率军固守。颜良、高览率兵赶到,攻打吕布后军,吕布让高顺率兵攻城,分军与河北兵交战。高览出阵,与吕布对敌,未及三合,不敌败退,颜良挥刀来救,双战吕布,大战五十余合,颜良、高览不支,拨马回阵。吕布拉弓射箭,颜良听有弦声,伏鞍而逃,正中颜良盔缨。吕布挥军出击,颜良大败一场,与高览聚集败军,于北海北十里扎下大寨。
颜良经此一战,知非吕布之敌,急报袁绍。袁绍命大将文丑、淳于琼率五万大军来援。文丑到达北海,两军合兵,挑战吕布。两军对圆,淳于琼不知深浅,拍马出战,直取吕布,一合被吕布挑于马下。文丑出战,两将相交十余合,文丑气力不加,往后便走。颜良、高览两将齐出,救得文丑,文丑回马,三将大战吕布,吕布精神抖擞,战得三将心惊胆战。此时陈宫在后掠阵,命令高顺上前助战,颜良三将顿时不敌,回马逃命。陈宫挥军杀上,河北诸将胆怯,兵无战心,被吕布率军追至乐陵。袁绍见军中诸将皆非吕布对手,间颜良等将退回南皮。
孔融见吕布勇冠三军,天下无敌,河北援兵败退,守城军士皆无战心,召众人相议。严峻曰:“吕布英勇,曹操诸将合击尚不能胜之,北海兵少将寡,实非其敌手,不如弃城而去,投奔袁绍。”杨修曰:“袁绍多谋而寡断,胸无大志,后必为曹操所败。曹操兵多将广,挟天子以令诸侯,不如投奔曹操。诸公不失富贵也。”众将然之。孔融遣使降于曹操。曹操时在长安,命夏侯淳起兵攻打下邳,被张辽率领部下阻住,张辽又让宋宪起都阳守兵击其后军,两军夹攻,夏侯淳部大败,退回徐州。
北海外无援兵,内无战心,未几日被吕布攻破。管亥诸将保护孔融投奔濮阳,途中为陈宫伏兵拦住,北海大将武定国、邓茂、韩暹,谋士严峻、沮鹄,皆为吕布乱军所杀。管亥、杨修保得孔融拼死冲出条血路,余下百余骑逃到濮阳,北海士兵多降。吕布得北海兵将,军容复盛。