建安二年(197)十月,曹操再次发兵讨伐张绣。这一战曹操打的是顺风顺水,那时刘表的部将邓济占据湖阳,曹操攻下湖阳,活捉邓济后又一举攻下舞阴。但曹操最终仍然没有能彻底打败张绣,占据宛城,报杀子之仇。
建安三年(198)正月,曹操回到许都,很快曹操就发动了第三次对张绣的战争。
那时荀攸随曹操征讨张绣,对其说道:“张绣与刘表互相援助,力量强大,但张绣是流动部队,食物要靠刘表供给,刘表无力供给他时,双方势必背离。我们不如暂停进军等待一下,这样可以诱之前来;如果急于进攻,他们势必互相救援。”
荀攸的建议非常有理,可惜曹操不听,他直接进军到了穰县,与张绣交战。张绣告急,刘表果然来救,在刘表和张绣的联和打击下,曹操军作战不利。
曹操后悔的对荀攸说:“都是不听您的建议造成的啊!”随即设置奇兵再次交战,大败张绣。
同年三月曹操将张绣包围在了穰县。但后来袁绍的降卒带来了田丰要求袁绍偷袭许昌夺天子的消息,曹操得知后,立刻放弃了对张绣的包围,选择撤回许昌。
但这个时候,刘表派来的援军切断了曹军的后路。曹操撤退,张绣带兵也追来,曹军不能前行,于是结成连营,得以慢慢前进。曹操在此时写信给荀彧,说到:“贼军紧追我军,虽然我们每天只能走几里路,但我算计好了,到安众县时,一定会打败张绣。”
到了安众县,张绣和刘表联军守在险要地方,曹军前后受敌,曹操派人乘天黑在险要处挖凿一条地道,把辎重物资全部偷运过去,又设下伏兵。此时已天亮,刘表和张绣的部队认为曹操已逃走,全军追赶。曹操便派出步兵、骑兵两面夹攻,把敌军打得大败。
七月,曹操回到许都。荀彧就问曹操:“战前您料定一定会打败贼兵,有何根据呢?”曹操则回答:“敌人阻止我回归的部队,与我背水作战,我由此而知一定会胜利。”在追击战中,张绣和刘表军的将领们认为曹操回归心切,但曹操却反而利用他们的这种心里,反其道而行之,成功的将其诱入陷阱,大破敌军。
但让人意想不到的是,在张绣被曹操击败之后,他居然会组织第二次进攻,并且成功地击溃了曹操的后军。
原来早在张绣第一次追击曹操之时,张绣的谋士贾诩就曾经对张绣说到:“不能追,追必败。”张绣不听,进兵追击,大败而回。贾诩却又对张绣说道:“赶快追他们,再战必胜。”
张绣推辞说:“没听您的话,才到了这个地步,现在已经败了,为什么又要去追?”贾诩说:“用兵无定式,急速进军,必定有利。”张绣这下信了,随即收拢打散的士兵急速追击,与曹军大战,果然得胜归还。
于是张绣问贾诩:“我用精兵追击败军,而您说必定失败;退下来后,用败兵追击刚打胜仗的士兵,而您说必能胜。结果都如您所说的一样,为什么您预料的与一般常情相反却又都应验了呢?”
贾诩从容说道:“这个容易解释。将军您虽善于用兵,却不是曹公的对手。曹军虽然开始退却,曹公必定亲自压阵断后,追兵虽然精锐,将领既然不是对手,对方的士兵也就强了起来,所以知道追兵必败。曹军进攻将军您并没有失策的地方,力量未衰却撤退,必定是他们国内发生了变故;已经打败了将军,他们必定轻装快行,即使留下几个将领断后,这几个将领虽然勇猛,已不是将军您的敌手,所以虽然您用败兵追击却能取胜。”张绣这才表示佩服。
曹操在建安时期三次讨伐张绣,均没有取得重大的进展,总体上而言和张绣互有胜负,占了不少便宜,也吃了不少亏,由于曹操久久啃不下张绣这根硬骨头,于是他终于开始把目光转向吕布、袁术等人。
历史上曹操集团在两年内四度讨伐张绣,其中三次曹操亲自领军,虽然战绩不大,但其中有一些将领发挥很是不错,例如于禁和李通。
第一次讨伐南阳时由于张绣的背叛,曹操很是狼狈。那时,曹操部下诸军一片混乱,只有平虏校尉于禁整顿部队,有秩序地撤回。在路上,于禁见到曹操属下的青州军抢掠百姓,便数说他们的罪状,并派兵进行攻击。青州兵逃走后,去向曹操告状。但于禁到达以后,却先安营扎寨,没有立即去拜见曹操。有人对于禁说:“青州兵已经先去告您的状了,您应该快去向曹公解释。”
于禁说:“如今敌人就在后面,随时都会赶到,不先作好准备,怎么迎敌!而且曹公英明,随意诬告怎么能行得通呢!”于是从容地挖好壕沟,安好营寨后,才进入拜见曹操,报告全部情况。曹操很高兴,对于禁说:“南阳之败,连我也狼狈不堪,将军在混乱中能整顿好自己的队伍,讨平暴乱,巩固营垒,有不可动摇的气节,即使是古代名将,也不会比你更好!”于是累计于禁的前后战功,封为益寿亭侯。
后来曹操再次讨伐张绣,由于刘表派人支援,曹操军陷入了苦战,这时李通带着士卒连夜地赶来帮助曹操,补充了曹操的兵员令曹操得以再战,李通还作为先锋,回头攻打张绣并大破之。后来因此记功李通被迁作裨将军。
曹操久伐张绣不得建功。首要要追究是曹操在第一次讨伐张绣时干了不少“好事”,导致张绣降而复叛,自己还麻痹大意;第二是因为张绣和刘表联合,张绣武力虽然强,但他毕竟是无根之军,而刘表在相助之后,张绣