时诸葛亮已做好各种准备,上书请命攻击洛阳。金旋命诸葛亮为平逆元帅,节制各路大军,攻击曹操。诸葛亮领命,调关羽部起兵十五万攻打谯城;命周瑜、陆逊两路兵马守御徐州、都阳、下邳,暂按兵不动。待曹真大军退出徐州,周瑜部驻守徐州,陆逊部出兵攻取北海;命姜维部起兵十万出宛城,自起大军十五万出弘农,共击洛阳。
曹操闻讯大惊,忙命司马懿部急援洛阳,命曹真部队分军援谯城,余军暂屯于定陶,命张辽部分军守北海。金旋诸军出击,曹操调东线军西撤,河北防御立感轻松。许子将见司马懿大兵撤出,集重兵攻克代县,随即率军围困晋阳。
诸葛亮与姜维两军合兵,遣将围住洛阳四门,暂不攻城。诸葛亮用兵与众不同者,杀戮极轻,以降服敌兵为要。故诸葛亮部向不需兵力补充,所降兵卒远超出部兵伤亡,此为诸葛亮用兵高妙之处。
曹操见金旋大军压境,调兵遣将,命夏侯淳、程昱率军十万守北海;张辽率军十万守乐陵;曹休、杨修率军十万守定陶;郝昭、贾充率军十万守晋阳;曹真、郭嘉率军十万守谯城;曹丕、邓艾率军十五万守洛阳;司马懿率部下十万兵马赴洛阳救援;自率许昌大军防守内郡,居中策应。
邓艾自掌洛阳军权之后,练成五万重骑兵。重骑兵马覆重革,兵穿厚甲,攻击力极强。邓艾于弘农接应曹昂之时,曾率一万重骑兵随军征战,为徐庶所见。徐庶以为难敌,绘图式告于诸葛亮。诸葛亮驻兵弘农,潜思解法,练成强驽、长枪两兵种,用以破解重骑兵。
诸葛亮命大将庞德、张苞练成强驽兵六万。此强驽兵与许子将之强驽兵有同工异曲之妙,但用法略有不同。许子将强驽乃三人合用,穷其威力。诸葛亮强驽一人使用,穷其准确度、穿刺力。又绘图使姜维练成长枪兵三万,其兵所用长枪长八米,枪头极尖锐,每两排长枪兵前以一排铁盾兵护卫。两兵种专为克制邓艾重骑兵之用。
时司马懿援兵未到,邓艾见诸葛亮大军只围不攻,遣重骑兵一万出阵挑战,以观其效。诸葛亮见重骑兵排好方阵,知其欲要冲击,使三万强驽兵列于阵前,发令射击,万驽齐发。邓艾重骑兵尚未发动,前面骑兵、马匹皆毙,阻住后军,军阵大乱。邓艾见强驽威力奇大,士兵伤亡众,率军回城,折重骑兵三千。
诸将见诸葛亮只围不攻,问其缘由。诸葛亮曰:“洛阳古都也,其城防坚固,邓艾多智,恃强攻击,兵士损伤必重。围困其城,断其粮道、外援,守军出战则重创之,城中守军士气日落,吾军可不战自胜也。”姜维等服其高见,诸将用心围住洛阳各处通道。洛阳守兵出战则以强驽兵击之,洛阳守军军心涣散,士气低落。
司马懿退出代县行至晋阳,见晋阳守将郝昭等,言及许子将强驽兵难破,可速铸铁盾防之。郝昭纳其言,命郡内匠人速铸铁盾以抵御许子将来攻。司马懿以部下兵马代县受创,在壶关整兵月余,见士兵士气恢复,率兵奔赴洛阳。
诸葛亮闻司马懿大军将至,命姜维率三万长枪兵、三万强驽兵防住城内援军。派重兵列阵于洛阳城东,阻止司马懿入城。命庞德率三万强驽兵排于前阵,见司马懿军进入射程,群起射击。命周泰、韩当各引骑兵两万伏于两侧,见司马懿军乱从两肋攻入。使魏延、沙摩诃等将率轻骑兵五万,见司马懿败归壶关,追击敌军。
司马懿大军赶到,见诸葛亮大军阻路,摆阵冲击。邓艾见援军来到,命洛阳兵马出城接应,为姜维部强驽兵击退。诸葛亮见司马懿前军进入射程,命强驽兵一齐射击。司马懿兵马在代县已受过强驽之苦,见诸葛亮之强驽威力虽小,但驽无虚发,前军伤亡众,军阵不战自乱,司马懿约束不住。周泰、韩当两将又率骑兵从两肋冲击,后军亦立阵不住。诸葛亮见曹军阵乱,挥重兵杀上。司马懿大败,丢盔卸甲,溃不成军,率军退往壶关。魏延、沙摩诃带轻骑兵追击,司马懿见大势不好,与诸将弃步卒而逃,魏延、沙摩诃两将率军直追至壶关方回。
司马懿败回壶关,身边仅余三万骑兵,余军多归降,只有两万余败军几日后方才绕路返回。司马懿见兵败如此,上表请罪。
诸葛亮此战击溃司马懿部,得降兵四万。洛阳守兵见诸葛亮之兵威,士气益沮丧。诸葛亮命诸将将降兵编于各军。
曹操闻司马懿部大败,大惊失色。阅司马懿上书,言诸葛亮强驽兵之威,其骑兵速度之快,更是令人心惊肉跳。然洛阳关系大局,曹操命司马懿率败军赶赴许昌,会合许昌守兵,起兵十万再援洛阳。司马懿使铁匠铸铁盾三万,以御强驽之威。司马懿诸事准备妥当,出兵洛阳。
诸葛亮听司马懿率军又到,知司马懿已有御强驽之法。命姜维强驽兵、长枪兵六万提防城中接应军。命准备滚刀战车一千辆,摆于阵前。此战车有两匹马拉动,车上有兵士三人,一人驾驭马匹,余二人为力大之人,分立于战七两侧,持六米长刀,刀前端利刃一米,两面皆刀锋,又于马车车轮两端延出三米,装配多刃剑,多刃剑随车轮转动,杀伤力极强。此战车用于冲动敌阵,威力极大。
诸葛亮见司马懿使三万铁盾兵摆在阵前,却命强驽兵射向中军。强驽兵将方向移往侧上方,强驽从铁盾兵上方掠过,直射中军。司马懿见中军损伤重,命铁盾兵后撤,护住中军。
诸葛亮见司马懿军士集成一团,命滚刀战车出击。司马懿见战车冲来,还未做出指令,见战车所到之处,十余米幅面立为战车冲出一条血路,直往中军奔来。司马懿大惊,忙引诸将后撤,然而此时已晚,千辆战车已冲出千条血路,司马懿步兵行动迟缓,伤亡惨重。
诸葛亮见司马懿军大败,令魏延、周泰、文聘率七万骑兵掩击。司马懿顾不得军士性命,率精骑往后逃去。魏延等将一路追击,直到许昌城下,曹操命许昌兵马出城接应,救得司马懿回城。
司马懿此次出兵,又折军四万余,曹操见诸葛亮兵器精巧,骑兵精锐,实为劲敌。时许昌已无可援之兵,也无胜过司马懿之将,曹操无计可施。