洛阳形势危急,司马懿援军两次被击败,曹操心急火燎,召集众位文武商议。满宠道:“金旋手下士兵精锐,武器精良,诸葛亮等用兵如神,关羽、张飞、赵云、黄忠等将勇不可当。诸葛亮重兵集于洛阳,阻击援军不得入城。不如集结士兵与关羽、周瑜、陆逊所部相战,若是能够取胜,亦可以解得洛阳之围。”
曹操从之,命令曹洪为主将,典韦为副将,荀彧为军师,统领八万精兵支援谯城,与曹真、郭嘉部合军,两路曹军共十八万兵马,准备攻击关羽部大军。
关羽部张飞、廖化两将统兵五万驻守汝南,其余十五万兵马皆随关羽攻打谯城。攻城半月有余,因为郭嘉等日夜小心巡视,城防未发现疏漏之处。
关羽因此与徐庶商议,徐庶道:“郭嘉为当世谋略高人,城中兵精粮足,守军固守不战,我军无计可施。我军此次攻打谯城,目的是为拖住曹军兵力,使其不能分军往援洛阳,不如暂时围而不攻,伺机而动。”关羽遂屯兵谯城之西,让关平、周仓、关索、高顺统领部下分驻四门外要路。城中守军出战,则合兵进攻。
再过几日,听说曹军援兵将到,关羽与徐庶商议,徐庶道:“以前谯城守军弱于我方,因此只守不战。此时援军赶来,城中兵力略胜于我军,必然会出城交战。可以撤回关平诸将,集中大营防守,曹军必然会来进攻,如此我等反客为主。我军新练大刀兵、飞刀兵利于防守而不利于进攻。倘若曹军接连进攻失利,士气必会大衰,彼时可以趁机进攻。”
关羽让关平等将返回大营,整顿大营防务,屯集粮草,以为久守之计。曹洪援军到达谯城,城外一无阻拦,顺利进入城中。曹真因为此时兵力强过关羽部,欲要出城挑战,召集众人商议。郭嘉道:“关羽部命令部将归营,广屯粮草,做长久打算,又整治营寨防务,此反客为主之计。我军前往攻击,彼军必然有备,我军必然无功。”荀彧道:“西王命令我等前来相援,欲要击败关羽部大军,以解洛阳之急。若是只守不战,有违西王之意。”郭嘉默然无语。
关羽部大军自从曹兵援军抵达,未曾到城下挑战。曹真等见关羽部屯于寨中不战,统领大军攻打关羽营寨,关羽部下多有飞刀兵、大刀兵、朴刀兵,三种兵种相互配合,防守非常实用有效,击退曹军数次进攻,杀伤曹兵无数。
曹真等人接连进攻几次,未曾建功,反而损折无数兵马,召集众人,相商对策。郭嘉建言,让曹真统领八万士兵攻打汝南,引诱关羽部大军回援。
徐庶见曹军如此行止,洞悉郭嘉之谋,闻听曹真统领大军出城西去,反而建言关羽统领重兵攻打谯城。谯城险些被关羽攻破,曹真闻讯,连忙统兵回救。
徐庶得知曹真引兵返回,命令暂缓攻城,让众将统兵把曹真部阻于城外。郭嘉吩咐曹洪统领五万兵马出城接应,关羽让部将关平、周仓统领五万部下,全力抵挡曹真部兵马,自率重兵将曹洪部围住。
曹洪统领部下左右冲撞,不能得出,郭嘉在城上看见曹洪形势危急,自与典韦统领三万兵马出城相救。关羽让关平、周仓两部让出一条道路,让曹真、曹洪、郭嘉三路兵马会合。待曹军会合发后,关羽让关平、关索、周仓、高顺统领八万士兵,拼死敌住城外曹兵,与徐庶统领七万精兵猛烈攻城。此时谯城城内守军只有两万余人,抵挡不住,被关羽部攻破城池。荀彧见大势已去,统领败军弃城退往许昌方向。
关羽让徐庶统领一万士兵入城安民,统领六万部下出城,与关平等军合兵攻击曹军。曹军闻知谯城失陷,军心浮动,关羽部六万生力军上前冲杀,阵势开始混乱。郭嘉见部下兵马逐渐不支,鸣金收兵,意要退往许昌,又被关羽大军紧紧缠住,欲退亦不能办到。