郝昭大军赶赴许昌之际,洛阳形势已经极为危急。洛阳守军并未受到河北大捷鼓舞,被诸葛亮的攻心战术搅得军心涣散。曹操连续派出几路援军,均为诸葛亮设计击退。
洛阳粮草将尽,曹丕聚众商议。邓艾虽然多谋,此时也毫无良策。钟繇道:“河北已定,郝昭、张辽部兵马分赴许昌、北海等地,若是张辽大军出北海,许昌、定陶两军夹击谯城,若能逼得诸葛亮分军往救,洛阳之围可解。现在洛阳粮草将尽,军无战心,局势危急,当务之急是设法补充城中粮草。”
贾诩此时亦在洛阳,道:“若是让张辽等进攻金旋东线,其计过缓。我军粮草用尽之时,即是兵败城破之日。诸葛亮派兵截断粮道,我等为何不反截其粮?以为我用。”
邓艾闻言顿悟,连称妙计。曹丕让邓艾、曹仁、夏侯渊三将挑选精兵,寻隙劫夺对方粮草。又遣使奔赴许昌,请求曹操派兵攻击谯城、都阳,逼迫诸葛亮分军,以解洛阳之危。
洛阳赴许昌使者为魏延部下生擒,送到诸葛亮帅帐。诸葛亮温言询问,探知洛阳军劫粮之策。诸葛亮遂思得一计,升帐点将,让王平、张嶷领兵三万诈作护粮军,粮车内多盛易燃易爆之物,见曹兵赶来将粮车聚拢,点火后弃去粮车,统领部下退往一侧,若见曹军与伏兵接战,即刻从后掩杀。又让魏延、谭雄统领五万精兵,阻住劫粮曹军退路。又让李严统领一万士兵换上曹军衣甲,推出百余粮车诈为劫粮归城士兵,赚开城门。让姜维、张苞、朱恒等,统领八万精兵紧随在李严部之后,李严部得手以后,趁势杀进城去。诸葛亮与余将统领七万兵马,在洛阳赴许昌路上设伏,伏击洛阳败军。
王平、张嶷部夜间行军,故意动作延缓,让曹军细作获知。细报急忙回城报告邓艾,邓艾闻知有此良机,与曹仁、夏侯渊点起城中精兵六万出城劫粮。
邓艾大军临近,王平、张嶷让部下将粮车围拢,点火后随即向一侧撤去。邓艾等见状大喜,让士兵上前救火,士兵刚刚趋向前去,只听“轰”的一声,粮车附近顿成变成一片火海,烧伤不少曹军。
邓艾一见此状,心知大事不妙,连忙下令撤兵。此时魏延统领伏兵突然杀出,两军激烈交战。邓艾因为魏延部下兵力不多,统领部下力战。此时王平、张嶷两军从侧后方杀来,邓艾部遭受夹击,大败。
此时李严已经诈开城门,姜维等将统领大军杀入城中。王双等见入城敌军兵力众多,一面组织巷战,一面与诸将统兵聚于太守府处,卫护曹丕及众将家小,打开东门撤往许昌。
邓艾统领败军杀到城侧,尚指望城中守军出城接应,此时城门大开,邓艾正欲统领部下退入城中,不料姜维部突然从城中杀出,城上强驽突袭,邓艾没有防备,当场毙命。曹仁、夏侯渊等见大事不好,统领败兵逃往许昌方向。姜维、魏延等将统领骑兵在后紧追。
诸葛亮算定曹军兵败之后,必然会退往许昌,早在许昌要路狭窄险峻之处布好兵阵,一万强驽兵排在阵前,三万长枪兵摆成长阵随后,轻骑兵排在阵后。败军卫护曹丕赶到此处,突然前方火把齐明,前方黑压压的大军拦住去路,强驽此时开始发威,曹军顿时死伤无数。
曹丕等正要往后退去,正逢曹仁等败军又至,诸将得知邓艾已经阵亡,更加慌乱不堪。此时姜维、魏延统领骑兵在后追杀过来,强驽连绵不绝,杀伤曹兵无数。
曹军此时避无可避,诸将只好统军复住前杀来。诸葛亮此时将令旗一摆,强驽兵从两侧撤到阵后,露出长枪兵来,长枪兵行动虽然迟缓,然而阵势整齐,兵刃极长,所到之处,曹兵无力阻挡。王双等将见形势危急,统领亲兵保护曹丕,弃去马匹,步行从两侧山路逃命。
洛阳十五万守军,经过这场大战,死伤两万余众,余者因为无路可逃,纷纷请降,降者近八万。随曹丕间小路而逃得性命者,又被诸葛亮派遣文聘、苏飞两将,统领轻骑兵沿途追袭,逃至许昌者,仅有二万余众。曹将夏侯和、钟繇、吕虏在乱军中丧生。
此战杀得曹军胆战心惊,诸葛亮声名远震,曹将无人敢挡其锋。诸葛亮又得降兵八万,编入周瑜部两万、陆逊部两万,余兵皆编于部下各军。攻下洛阳,弘农、宛城两郡皆为内郡,诸葛亮让苏飞统领三万兵马驻守弘农,张嶷统领三万兵马驻守宛城,余军都驻守洛阳,洛阳兵力达到三十九万。诸葛亮在洛阳整顿军政,训练兵马,准备继续攻打曹操。
洛阳城失陷之后,许昌面临洛阳诸葛亮军、姜维军、谯城关羽军合围,曹操调配各路文武,重新布置防务。因为壶关为河北诸郡门户,临近洛阳,战略位置重要,让司马懿统领郝昭、邓忠、曹纯、司马师、司马昭等,共十五万兵马驻守壶关。因为北海与徐州、下邳两郡接壤,让张辽统领夏侯淳、程昱、于禁、潘凤、李典等,共十二万兵马驻守北海。曹仁统领夏侯渊、郭嘉、夏侯霸、王双、张合等,共十三万兵马驻守定陶。王子服、荀攸领兵五万驻守晋阳;于禁、郭奕领兵五万驻守邺城;夏侯德、陈登领兵五万驻守濮阳;张燕、刘岱领兵五万驻守陈留;杨彪、陈群领兵一万驻守北平;吴质、耿纪领兵一万驻守襄平;吴纲、曹爽领兵一万驻守代县;严政领兵一万驻守乐陵;王睿、杨修领兵一万驻守南皮;夏侯玄、孔融领兵一万驻守易京;曹洪、夏侯威领兵一万驻守官渡;夏侯恩、贾充领兵一万驻守界桥。曹操统领余将共二十万兵马驻守许昌。
诸葛亮整顿兵马完毕,让陆逊部兵马防守徐州、都阳,周瑜部大军攻打北海;关羽部兵马防守谯城,姜维部兵马防守洛阳,诸葛亮统领二十一万大军攻打壶关。司马懿以前与诸葛亮部交锋,未有胜绩,闻知诸葛亮统重兵来攻,惶恐难安,派人赶赴许昌求援。曹操此时无兵可援,让司马懿统兵坚守壶关。又让曹彰、文钦、贾诩统领十万兵马攻打洛阳,希望诸葛亮能够回军洛阳。
姜维为诸葛亮弟子,诸葛亮算定曹彰军绝非姜维部对手,因此屯兵壶关,并不遣将攻城。司马懿因为诸葛亮只围不攻,反而担心遭受暗算,日夜巡防,不敢有半点疏忽。诸葛亮潜使庞德、朱恒统领十万大军夜袭邺城,守将于禁不支,派人赶往壶关求救。司马懿闻知邺城危急,不得不救,让郝昭、曹纯、司马师统领八万兵马守城,自领邓忠、司马昭等统兵七万往救邺城,大军行到半途,正逢邺城败军,两军合兵,一起复夺邺城。
庞德、朱恒两将闻知司马懿统兵来夺邺城,并不与曹兵交战,搬运城中粮草辎重返回壶关。司马懿到达邺城,只见人去城空,心知大事不妙,连忙统领本部兵马急回壶关。
诸葛亮在司马懿分军后,随即让士兵用火药炸开城墙,率领大军杀入壶关。郝昭等将见到城池已破,统领大军退往邺城,路上又遇上朱恒、庞德两部精兵,不敢接战,绕路而行,朱恒、庞德奉诸葛亮将令,并不追赶,入城与大军会合。
诸葛亮又授张苞、周泰、韩当三将密计,让三将统领十万兵马赶往晋阳。
郝昭与司马懿合兵,闻知诸葛亮分军攻打晋阳,统领大军复来抢夺壶关。诸葛亮见曹军势大,命令部下在城北扎一座大营,将城内粮草辎重尽数迁往营中,随后统领全部兵马从北门撤离,放司马懿等进入壶关。
司马懿兵不血刃夺回壶关,反而心情忐忑,猜不透诸葛亮用意,忽听守城士兵来报,诸葛亮派遣重兵包围壶关,张苞等亦统领部下返回,大军已将壶关围得水泄不通。司马懿连忙分派众将防务,正在忙乱之时,粮草官来报,军中存粮仅能支撑两日。又有士兵来报,城中水源已被诸葛亮部投上迷药,饮水士兵都迷昏在地,百般救治不醒。司马懿心知又中了诸葛亮诡计,不由手足无措。
诸葛亮算得司马懿从壶关出援邺城,随军粮草必然不多。又让朱恒部攻下邺城,尽掠邺城粮草。郝昭城破之时,逃命要紧,那有闲暇多带粮草?如今两路曹兵合军,兵力虽然不少,粮草却是不继。诸葛亮故意放司马懿部入城,只是围困并不攻打,曹军粮草不继,又无饮用之水,自然不战而败。
郝昭命令城中士兵重新打井取水,开水尚未打出,诸葛亮统领重兵来攻,还是用火药炸开城墙,大兵长驱直入,此时守军口喝腹饥,那有心情作战?司马懿部大败,其长子司马师为张苞所杀,邓艾之子邓忠为庞德生擒,不降而死。