陈留起兵时的故旧叛变给曹操在用兵谋事上造成了一些麻烦。
曹操最担心的,便是吕布由仓亭津南下,拥有范城、东阿,便可控制东平国,封锁住亢父险道。如此一来,不但可以孤立甄城,更可以凭地险阻止曹操东征师团的回防。程昱也早看出这个危机,所以才能有效地阻挡住吕布的攻势。
因此,当曹操听到吕布和夏侯惇大战于濮阳时不禁松了一口气,他表示:吕布和陈宫固然可以策动兖州在一夜之间反叛,但到底他的军队仍只能攻到濮阳而已,显然陈宫的突击计划和实际的军事行动并未能完全搭配。吕布及陈宫阵营的弱点,已经很清楚地暴露了,只要能夺回濮阳,要再获得兖州各郡县的拥护并非难事。因此,这次反击战争的关键便在濮阳攻防战。
曹操回到兖州后,立刻准备反攻濮阳,他察知吕布有别动部队住城西四五十里处,便决心先剿灭这股力量,以打击吕布阵营的士气。
曹操的作战方法一向富于行动力,在和敌军主力会战前先采取奇袭战消灭敌军的前锋及别动部队,是他经常采行的策略。“匡亭之战”时,他便迅速击灭袁术的前锋刘详,以在声势上取得压倒。官渡之战,他也先行攻破袁绍的别动部队颜良及文丑军团,以激怒袁绍军。因此,曹操在第一次濮阳之战,一到达战场,立刻发动夜袭,消灭了吕布驻屯城外、形成掎角的别动队。
但替吕布运筹帷幄的是曹操的好友张邈及谋臣陈宫,他们对曹操的习性相当了解,一接到曹操部队到达的消息,便派细作密切注意。只是谁也没有料到曹操的动作,会快到刚进入战场的第一天便发动奇袭,所以别动部队还是被曹操消灭了。
陈宫接到曹操奇袭的密报,便判断行动如此快速,曹操本人必在奇袭军中;而且为了保密及机动性,奇袭的部队通常人数不多,因此陈宫要求吕布亲率主力战斗部队,分三路包抄曹操,阻止奇袭部队和主力军会合,并乘机消灭之,如果曹操真的在奇袭队中,这场战争便赢定了。
曹操的奇袭队在黎明时,由小路凯旋归来,便遭到跟踪而来的吕布军由三方面包围。曹操以己方兵力太少,乃下令在狭窄的险隘部署防守阵势。吕布确认曹操在奇袭队中,便亲自指挥作战,从早上一直到中午,连续二十回的突击,都无法攻入曹军防线,双方死伤惨重。
曹操的防守虽相当成功,但兵员太少,若死伤人数继续增加,难免会被歼灭,因此曹操决定突围而出。
他公开募集敢死队在前开道,负责打开突围的道路。侍卫队队长(司马)典韦自告奋勇,他率领敢死队数百名,每人身穿两副铠甲,只带长矛不带盾牌,全力往前冲锋。吕布阵营将弓箭队排在前面,企图以箭雨抵挡曹军的突围战,一时箭如雨下,但典韦下令全军潜伏,暂时不动。吕布见曹军停下来,也立刻弓箭队在前,步兵在后,逐渐逼近。
典韦闭上眼睛,置之不理。并谓左右侍卫说: “敌军冲到我军十步时再告诉我。”
左右说: “十步了。”
典韦又说: “五步时再告诉我。”
当左右高喊五步时,典韦两眼圆瞪,一鼓作气,双手持戟,大叫开战。吕布军见他来势凶猛,士气大挫,挡在路上的几乎全中戟倒地,因此包围圈露出一个大缺口。这时天色已黑,视线不佳,曹操跟在典韦军后面,趁机脱身。
曹操返回大本营后也不休息,立刻带兵再攻濮阳,濮阳城内的巨室田氏,打开东门让曹军进城。但吕布军在城中布阵,准备和曹操进行巷战。为了提高士气,曹操打算采取“置之死地而后生”的策略,他下令放火烧东门,表示绝不退兵的决心。
陈宫早看出曹操兵力有限,知道他这是故意虚张声势,于是建议吕布全力攻击曹军左翼的青州军。由于青州军训练不够,又不习于街巷的肉搏战,很快往后退却,使曹军阵式大乱,曹操眼见全军濒临崩溃,便放弃本阵,向后撤退。
混乱中,吕布的部将遇到曹操,由于曹操身穿一般将领服装,烟火弥漫中,视线不清,吕布的部将反问曹操说: “告诉我曹操在哪里,饶你一命。”
曹操随机应变,指着前面说: “在前面骑着黄马的便是曹操!”
吕布的部将立刻抛下曹操,去追黄马的将领。
曹操幸运脱险,立刻扭头往燃烧中的东门突围而出,他的左掌被严重灼伤,无法抓紧马缰,几乎掉下马来,幸亏侍从官楼异赶上扶住他,才得以顺利逃出。
曹操逃回到本营后仍不休息,他立刻亲自劳军,慰问败退回来的军队。他下令制造攻城武器,便再度领军攻至濮阳城下,摆出一副准备攻城的姿态。
曹操这步棋,可把吕布给看傻了,明明连续两次几乎击溃曹军,结果被打败的却好像是自己。曹军几乎仍完全掌握主动,陈宫也无法评估曹操的作战力,因而主张坚守城池,不敢再和曹军正面会战。
这样双方坚持一百多天,正好碰到蝗虫灾害,民间严重饥荒,吕布军粮用尽,只得退出濮阳。曹操亦以濮阳地区虫荒严重,不利于驻屯,于是在九月初引军回甄城。吕布将军队带入乘氏,却遭到县人李进所领导的游击队袭击,由于吕布军缺乏粮食,不敢恋战,只得向东退却,驻屯于山阳。
冬十月,兖州在蝗灾和兵乱双重打击下粮食严重短缺,曹操属下的军团粮草供应上也发生困难,军队面临解体。袁绍派人前来劝说曹操,建议曹操将眷属送到表绍境内的邺城,以接受其保护。曹操因兖州已无力有效统治,仅有的存粮也将用尽,有意接受袁绍的安排。
一向以谋略见长的程昱却表示强烈的反对,他对曹操说: “听说曹将军有意将家属送给袁绍做人质,以取得联盟,可有此事?"
曹操说: “是有点困难,……所以想暂时忍耐一下。”
程昱说: “难道曹将军真的为眼前的困难感到害怕了,为何会如此的欠缺思虑呢?袁绍早有并吞天下之雄心,只是本身智谋不足,所以做不到啊!这种人,将军您真认为可以自甘其下吗?将军有龙虎之威,怎可步彭越、韩信般的下场呢?现在,兖州虽然残破,但我们还有甄城、范城及东阿三个重要的基地呢!能征惯战的军队也有数万人。以将军的武功谋略,加上荀或及我程昱的辅佐,大家同心协力,一定可以完成霸业的,希望将军能更审慎地考虑啊!”
在战乱的时代里,附属于强大诸侯下的小军团或小诸侯领袖,便常将他们的家属,送到大诸侯境内做人质,以表示顺从。如此一来,自己的行动便要受到严厉的控制,想另谋发展是难上加难了。
打败仗可以暂时逃离,养精蓄锐,以谋东山再起,但缺乏粮食就一筹莫展了。
这么多张口等着吃饭,难怪身为主人的曹操要紧张万分了。但是,连部属都如此坚持,准备吃苦到底,身为领袖的曹操,自然更需要咬紧牙关了。相信在这段期间,苦劝曹操的应不只程昱一人,所以曹操最后也打消臣服袁绍的念头。
不过,这件事给曹操两项非常重要的教训。其一,曹操从此体会到政治比军事更重要。只会打仗,不懂得治理,真会如《六韬》上所说“百战百胜,其国必亡”。其二,他真正体会到粮食比什么都重要,光有部队及武器,没有粮食仍然无法成事。日后曹操努力发展军屯及民屯的政策,主要的原因也在于此。
他决定天下大势的“官渡之战”,曹操能击败兵力多他十倍的袁绍,粮食战便是决胜的重要关键。
兴平二年(195)春天,曹操决定袭击吕布驻军所在地山阳的邻城定陶(今山东定陶县)。曹操的目的是想扰乱吕布的判断,乘机攻陷吕布部署互为掎角的别动部队。由于曹军行动快速,镇守定陶的济阴太守,吓得弃城南遁,到保南城重布防守线,曹操立刻跟随追过来,果然在保南城东遭遇吕布援军。曹操早有准备,立刻发动骑兵突击,吕布军不敌,只好再退回山阳。
其实,在进攻定陶的同时,曹操派曹仁另率一支部队,攻打山阳的另一犄角句阳城。由于吕布将注意力放在定陶,句阳城很快便被攻陷,守将刘何被抓。吕布连失两城,不得不撤往东北。
夏天一到,吕布决定反攻,他命薛兰、李封屯兵巨野,向曹操挑战,吕布和陈宫认为,曹操一向喜欢攻打和敌军主力互为犄角的别动队。因此用薛兰、李封等人吸引曹军,再以快速的军队调动,在曹操和薛兰等进行决战时,吕布的主力部队也及时开上战场,以压倒性的多数包抄曹操的先头部队。依陈宫猜测,曹操本人多半会在先头部队中指挥,如果能擒拿或杀死曹操,夺取兖州便不再有困难。
但曹操这次却不再采用平常的作战法,他先派曹仁去打薛兰、李封驻屯巨野的部队,自己则带领主力部队埋伏在半途中,并派出大量探子搜集吕布军的动态,果然发现吕布率领的部队正快速朝巨野逼进。最让曹操兴奋的是,吕布部队由于行动快,和陈宫率领的万余主力部队,相隔有一天左右路程的距离,曹操见机不可失,立刻采取闪电般的攻击行动。
依吕布的判断,曹操正在巨野攻打薛兰、李封的部队,根本想不到曹军突然从他的左、右两侧涌出,快速行进中的部队,最怕受到奇袭,不到半个时辰,吕布的部队已被打得溃散,吕布一向是个不负责任的将领,他根本不管薛、李军队的死活,一发现自己身陷危境,便调过头来三十六计走为上策了。
曹操不去追赶吕布,将军队全部投入巨野会战,可怜的薛兰及李封,光应付曹仁的攻击已很吃力,想不到曹操又从西方包抄过来,虽然使尽全力抵抗,仍遭到全军覆灭的命运。
曹操判断吕布的败军和陈宫的主力部队会合、重新整编完成后,会立刻再进攻巨野。因此他也在巨野展开部署,决定和吕布、张邈的联军一决生死。
曹操估算这场决战,可能双方会作相当长时间的对峙。由于军中严重缺粮,曹操命令各部队先行分散去准备粮食,只由自己带领一千多名后勤部队,留在巨野建构防御工程。
但陈宫在与吕布败军会合后却认为舍弃薛兰、李封军队,会使吕布领袖形象遭到损害,因此等不及重编,便紧急要求吕布再度进攻巨野。
曹操根本没料到吕布军会来得这样快,靠自己的少数后勤部队,别说是会战,连阵地都可能无法固守。仓促间,曹操大胆地采用“空城计”,他下令将战旗收起来,由妇女把守营寨,自己率领不足一千人的后勤部队,全部整齐地排列在营外。陈宫和吕布攻到巨野附近时,听说曹操这种奇怪的部署,立刻到阵前瞭望,陈宫发现曹操屯营的西边有个大场,南边有片大树林,料想曹操一定有伏兵。由于天色已黑,又是紧急到达战场,无法做进一步探查,即命令先将军队驻在距离曹营南方十余里的位置,明晨再作打算。
就利用这短暂的夜间,曹操派出大量斥候,紧急调回不少部队。但曹操仍将一半的兵力暗藏在堤下,堤上只摆出一半部队。
根据夜间谍报的密报,吕布得知大部分曹军都在外围,赶不回来,再看到曹军的布局,便确定曹操的兵源不足,于是采取主动的攻击。
吕布首先以轻骑兵攻打堤上的曹军,当先锋队即将接近曹军时,堤下的伏兵纷纷出击。吕布的骑兵遭此突击,很自然地回头便跑,退兵反过来冲散了后面的步兵主力。曹操顺势以骑兵掩护步兵并进,吕布军大溃,退回本营,才勉强稳住阵脚。
吕布更害怕曹军全部回到巨野,会发动大型的歼灭战,深知自己的军队绝非对手,乃连夜全部逃离。到这种地步,吕布阵营的人马斗志尽失,曹操乘胜攻击定陶城,并分兵平定叛变的诸郡。吕布、陈宫放弃兖州,投奔徐州的刘备。
十月,汉献帝正式命令曹操为兖州牧。
十二月,曹操再派兵攻陷张邈弟弟张超据守的雍丘,张超自杀而死。由于雍丘之役长达五个多月,曹军在城破后大肆屠杀,兖州张氏家族几乎无一幸免。张邈打算退入扬州投奔袁术,途中为叛变的军士所杀。
攻防战前后长达一年多,总算把兖州完全收复了。从此以后,曹操才学会打天下不只靠武力,更必须认真地治理并稳固自己的大本营,否则即使有再强的军队,也没有什么用处。