长安改革政务的同时,诸葛亮在洛阳整顿军务完毕,限定时日,诸路大军同时攻击曹军辖地。周瑜部攻打乐陵,关羽部攻打陈留,陆逊部攻打濮阳,姜维部攻打邺城,诸葛亮自引洛阳大军攻打许昌。此时洛阳大军共有二十一万,诸葛亮留李严领兵五万驻守洛阳,亲领大军十六万攻打许昌。
许昌曹植如热锅上的蚂蚁,前线接连传来军报,金旋诸路大军同时出动,陈留、乐陵、濮阳、许昌四地危急。曹植召集众位文武商议对策,贾诩道:“金旋兵众,诸路元帅多谋,正面作战,恐怕胜少负多。可以急命各郡巩固城防,聚集粮草,准备久守,待其军锐气渐失之时,然后伺机出战,或可击退其兵。”曹植采纳其言,下令各郡坚守不战。
诸葛亮大军来到许昌城下,派遣部将围困许昌,四面攻打城池。曹植一见形势危急,召集众人商议,贾诩道:“诸葛亮用兵谨慎,我等倘若只守不攻,为诸葛亮部伺机寻出破绽,我军反而被动,不若间或出兵与其缠战,不让敌军腾出全部精力攻城。”
曹植闻言,让曹仁、典韦、曹休整顿城中精兵十万,出城迎战,嘱咐三将不得贪功冒进,倘若交战不利,即刻率军退回城内。曹仁等将统兵打开西门,正逢魏延部大军,两军开始接战。
魏延部兵马只有五万,见曹军兵力倍于己军,一面结阵迎敌,一面派人急报大营。诸葛亮听闻许昌守军出城,但是距离城门很近,不能施展妙计,统领大军与魏延部合军,与曹军交锋。曹仁等奉曹植之命,只是依城而战,不敢贪功冒进,又派铁盾兵护住前军,防备敌阵强驽。
诸葛亮亲临战场指挥,见曹兵战风沉稳,让谭雄、王平各领两万重骑兵冲击曹军两侧。谭雄、王平两部奉命转至左右两侧,排好军阵,冲击曹军军阵。曹兵两肋遇袭,士兵抵挡不住,纷纷往阵内挤压,曹军兵阵开始混乱。
诸葛亮一见时机成熟,指挥大军出击,曹军抵挡不住。曹仁见势不妙,传令撤入城内,部下五千余人马为魏延部下困住,不及入城,被围于核心,冲突不出。曹仁欲要率领重兵去救,又为谭雄等将领兵阻住。被围曹军见救兵不到,四周皆为诸葛亮兵马,无路可逃,万般无奈之下只好投降。
曹植此战失利,知道城中诸将皆非诸葛亮对手,传令诸将固守不战。诸葛亮百般诱敌,曹军因为奉曹植严命,概不出战。诸葛亮无法可施,命令大军强攻。此时曹昂、曹丕皆在城中,见许昌形势危急,带领家兵家将上城参战。
诸葛亮见许昌防御严密,城中诸将同心协力,贾诩等人足智多谋,城池难以攻破,统领大军屯于许昌城外,暂不攻打。让王平部把守通往官渡之路,断绝许昌对外信息。
许昌西面洛阳,南面谯城,均为金旋地盘,只有东边通往官渡。官渡之路被截断,许昌与诸郡联系中断。贾诩见各郡报讯之人多为诸葛亮部擒获,各郡内情被诸葛亮摸得清清楚楚,急忙去报曹植,道:“今诸葛亮截断许昌与各郡信息,诸郡前来报讯者多为其擒获,彼军尽知我军内情,我军更是不易抵挡。不如命令张辽、郭嘉、司马懿等,根据战事调整相邻州郡军政事务,不须到许昌请示。”