这时,关中诸将见袁曹将要战争,皆中立观望,曹操便遣使前往关中协助司隶校尉安抚韩遂、马腾等,使其不致为患。并开始派遣谒者仆射到关中监盐官,以市盐钱购买耕牛,供回到生产线上的农民使用,这对于安定关中社会秩序也起了一定的作用。这样,曹操就把一些不利因素转变为有利因素。后来曹操从关中获得一千余匹军马,弥补了一部分骑兵不足的缺陷。
曹操在做了以上部署以后,于建安四年(199年)年底,亲自率领大军进驻重要战略要地——官渡(今河南中牟北)。就在这时,发生了一件对曹操不利的事,就是刘备在徐州的叛变。刘备自投归曹操后,曹操给他一个豫州牧的名义,一同驻在许都。这时,淮南军阀袁术由于屡吃败仗,力穷势窘,打算经过徐州北上投奔袁绍,曹操派刘备前往截击,袁术被阻南归,刘备占据徐州叛曹,并与袁绍联合。曹操派将前往攻打刘备,未能取胜。曹操留下部分兵力把守官渡,自己率领精锐骑兵前往攻打刘备。诸将恐袁绍乘机进攻,曹操说,“刘备,人杰也,今不击,必为后患。袁绍虽有大志,而见事迟,必不动也。”确定了目标之后,曹操率军东行,很快就击溃了刘备的军队,迫使刘备连妻子都扔掉,仓皇北上投奔袁绍。刘备手下亲信大将关羽,也被曹操俘获。曹操再回到官渡,前后还不到一个月的工夫。
曹操东征刘备,给袁绍造成的可乘之机,在袁绍集团中,并不是没有人看到。袁绍的谋臣田丰就曾经劝他抓住这个战机,袭取许都,但袁绍却以幼子患病的理由不肯出击。
田丰急得用手杖击地说,在这个千载难逢的好机会面前,我的主公袁绍却以婴儿之病放弃这个机会,真是可惜啊!更为奇怪的是,袁绍在曹操进攻刘备时不采取积极的行动,但当曹操打垮了刘备回军官渡后,他却召集部属商议出兵的问题。田丰重申沮授前议,说:“操善用兵,变化无方,众虽少,未可轻也,不如以久持之。将军据山河之固,拥四州之众,外结英雄,内修农战,然后简其精锐,分为奇兵,乘虚迭出,以扰河南,救右则击其左,救左则击其右,使敌疲于奔命,民不得安业;我未劳而彼已困,不及二年,可坐克也。今释庙胜之策,而决成败于一战,若不如志,悔无及也。”
袁绍对田丰的意见,不但不听,反而认为“沮众”,把他囚禁起来。沮授原来在袁绍幕府中是内为谋主,外监诸将的首要人物,这次也因谏阻出兵,违背了袁绍的意旨,郭图等人又乘机进谗,说沮授权势太大,继续重用下去,会无法控制,引起了袁绍对沮授的怀疑,终于把沮授统率的军队分为三部分,让他和郭图、淳于琼各统一军,这就大大削减了沮授的职权。袁绍集团就在这种意见不一、矛盾重重的情况下,出动大军南下进攻曹操了。
建安五年(200年)正月,袁绍首先向各州郡发布了一篇讨伐曹操的檄文。二月,袁绍亲自率领大军由邺城南下,进驻黎阳。袁绍向曹操进攻的第一步棋,就是派遣骁将颜良渡过黄河进攻白马(今河南滑县东),以便为主力渡河打下前进基地。曹操是要救援白马的,但所使用的战略,并不是派军直奔白马,而是声东击西,分散袁军兵力。
曹操首先引兵到延津,装出要渡河抄袭袁军后路的样子。袁绍忙分兵西上进行阻击,曹操则率领轻骑迅速驰往白马。在曹军离白马只有十几里的时候,颜良才发觉,遂仓促应战。曹操令张辽、关羽为先锋,关羽望见颜良麾盖,迅速冲进敌阵,刺死颜良,袁军失去主将,登时溃散,于是曹军胜利解救了白马之围。
曹操深知白马孤城在袁绍优势兵力的压迫下,终究不能坚守,乃向官渡进行战略转移,令白马居民和辎重一齐跟随军队沿黄河南岸向西撤退。袁绍凭仗兵多势众,率领大军继续推进,沮授再次向袁绍进谏,劝他不可轻率冒进。袁绍不但不听,还把沮授仅余的部分军队交由郭图带领。
袁军先头部队在离延津不远的地方,赶上了曹军。这时,曹操令部队停止后撤,在南山下扎好营垒,派人登高瞭望。瞭望者报告袁军大约有五六百骑来到。接着又报敌骑续有增加,步兵多得不可胜数。曹操吩咐不要再报告了,他要骑兵解鞍放马,休息待命。这时,从白马撤出的辎重还在路上,诸将担心敌骑掳掠,建议连人马带辎重一齐进入营垒。荀攸认为现在正是利用辎重引诱敌人的时候,怎能移进营内呢!胸有成竹的曹操对荀攸的意见表示赞同。
袁绍骑将文丑和刘备带领五六千骑先后到来,诸将催请曹操赶紧上马迎战。曹操按兵不动,过了一会儿,袁军骑兵到来,见路上有那样多的辎重,分外眼红,争先恐后地去抢劫,因而队伍大乱,曹操乘隙下令冲击,这时曹操身边骑兵不满六百人,但他们是以逸击劳,故能一举击杀文丑。文丑和颜良都是袁军名将,经过两次战役便被斩杀,大大提高了曹军的士气。
曹操在初战胜利之后,仍旧按照原定计划,退到官渡,集中兵力,筑垒固守。这样,既免遭敌人包抄,又缩短了军粮供应线。也使得袁军远离后方,给自己以更多伺隙出击的机会。
而袁绍尽管两次受挫,但凭仗其兵多势众,仍旧推进至阳武(今河南原阳东南)。八月,袁军进临官渡,于是关系袁曹成败的官渡之战进入了决战阶段。
两军相持,曹守袁攻,曹军虽然焚过袁军的运粮车,但曹军缺粮的情况仍较袁军严重。在袁、曹两军半年多的敌对中,袁绍未能取胜,曹操更陷于窘境,百姓困于役赋,反抗事件不断发生。汝南郡是袁绍的老家,袁氏门生故吏遍布境内,他们大都拥有武装,乘机起兵反曹,遥为袁绍声援,刘备也一再领兵到汝南,骚扰曹操后方。袁绍还多次派出小股军队抄掠曹军的粮食供应线。这些都给曹操造成了很大的困难,迫使曹操一度考虑退守许都。经过几位谋士的谏阻,曹操才下定决心在官渡与袁绍周旋到底。
曹操派遣曹仁带兵到汝南把刘备赶走,镇压了地方反抗势力,稳定了后方。曹操除了采取严密措施,以足够的武装卫护粮食运输外,也十分注意用劫粮的办法制服袁军。恰好这时侦察到袁绍部将韩猛押运粮车数千辆来到官渡北面几十里的故市(今河南延津)。曹操知韩猛有勇无谋,乃派得力将领徐晃、史涣前往截击,把韩猛押送的粮谷全部烧掉。十月,袁绍大将淳于琼等率兵万余,押送大队粮车,停在离袁绍大营北面四十里的乌巢(今河南延津东南)。
沮授为了确保这支运粮部队的安全,向袁绍建议派一支军队协助守卫,以防曹操再次抄袭。可是,袁绍认为没有必要。这时,谋士许攸向袁绍献策:曹操兵少,其主力部队都集中在这里,许都防务必然空虚。可遣精骑前往偷袭,曹操失许都,进退狼狈,必然不能再战。袁绍不从,一定要先攻下曹营。恰好这时许攸家人在邺犯法,被留守审配收洽,许攸既因此怀恨,又嫌袁绍无能,乃转而投奔曹操。
许攸给曹操献上了乌巢劫粮之计,曹操与亲信商议,诸谋士对许攸的话半信半疑,只有荀攸、贾诩劝曹操采纳。于是曹操断然采取行动,留下曹洪和荀攸守住大营,亲自率领步骑五千,趁朦胧的月色从小道直驱乌巢。
曹军打着袁军旗帜,每个士兵带上一捆干柴。人衔枚,马缚口,路上遇人盘问,答以袁公怕曹操抄袭我军后路,特地前往加强戒备。这样,顺利地到达了乌巢。曹军在袁军屯地周围点燃干柴,大火顿时燃烧起来。袁军从梦中惊醒,只见大火熊熊,喊杀之声,震耳欲聋,于是惊慌失措,乱作一团。至拂晓,淳于琼等见曹军兵少,又产生轻敌情绪,出营迎战,曹操不待其摆好阵势,即挥军急击,淳于琼等抵挡不住,退回营中。
袁绍听说曹操往袭乌巢,并不赶紧派兵救援,还对其子袁谭说:“即使曹操攻破淳于琼等,我攻下其大营,他就无处措身了。”于是命高览、张郃等加紧攻营。张郃建言:“曹操兵精,往必破琼等;琼等破,则将军事去矣,宜急引兵救之。”可是袁绍只遣少量骑兵前往救淳于琼,而以全力进攻曹营。曹营坚固,屹立不动。
当曹操正激励士卒攻打淳于琼等的时候,传来了袁绍援军将到的消息,有人劝曹操分兵拒敌。曹操以为兵分势弱,后顶不住援军,前攻不下敌营,必致两头受制,于是令士卒拼命进攻淳于琼等,一举破之,除杀淳于琼等外,还烧掉袁军全部存粮。及袁绍援军到来,乌巢已经失守,援军也就不战而溃了。
乌巢粮谷被烧的消息传到官渡,袁军登时土崩瓦解,张郃、高览烧毁攻城的工具,率部降曹,其他将士,也不再听从袁绍指挥,纷纷逃命。袁绍、袁谭父子率领仅存的八百骑兵渡过黄河,逃回冀州。袁军的辎重、图书、珍宝都成了曹操的战利品,来不及逃跑的袁军多向曹操投降。经过这次战役,袁绍的主力部队基本被消灭,曹操的军事力量大大增强,为日后统一北方奠定了牢靠的军事基础。
建安五年(200年)十月,曹操在官渡大败袁绍后,冀州城邑,多降于曹操。但曹军也已人困马乏,特别是军粮短缺,使曹操无力再行北进。直到次年三月,曹军仍缺粮,不能不就食于东平郡的安民(亭名,在今山东东平西南)。由于刘备仍在汝南,所以曹操打败袁绍后,亲自率军攻打刘备,刘备不战而奔荆州。刘表令刘备屯驻新野,以防曹操。
袁绍败回邺城后,收集散兵游勇,平定了叛乱的诸郡县。便考虑将来由谁来继承自己的事业。袁绍因为喜爱小儿子袁尚长相俊美,欲立袁尚为嗣子,长子袁谭出任青州刺史。
沮授当时进谏说:“谭长子,当为嗣,而斥使居外,祸必始于此矣。”袁绍不听,说:“吾欲令诸子各据一州,以视其能。”又让第二子袁熙为幽州刺史,外甥高干为并州刺史。袁谭与袁尚之间的矛盾,便由此形成。袁绍部下的要员也跟着分为两派:审配、逢纪为尚派;辛评、郭图为谭派。建安七年(202年)五月,袁绍死,袁尚继立,袁谭不服,自号车骑将军,屯兵黎阳。
袁尚、袁谭的内讧,给曹操吞并河北提供了非常好的机会。九月,曹操进军攻打袁谭。袁谭、袁尚在曹军的重大压力下,惧而合力抗拒曹操,但还是总吃败仗。建安八年(203年)二月,曹操攻打黎阳,袁氏兄弟败走。这时,谋士郭嘉向曹操建议:“谭、尚各有党羽,急之则相保,缓之则争心生。不如南向荆州征刘表,以待其变;变成而后击之,可一举定也。”曹操听从了他的建议,引军还许都。
果不出郭嘉所料,曹操退军后,袁谭、袁尚就厮杀起来,袁谭被袁尚打败,退保平原,袁尚围城急攻,袁谭竟遣辛毗求救于曹操,辛毗劝曹操乘机平定冀州。十月,曹操引兵至黎阳,袁尚闻曹操率军北上,便率众迎战,但最后不敌曹操。这样,袁氏的后裔都被曹操剿灭,整个北方成了曹操的势力范围。
经过上面的分析,我们看到,曹操从一个忠心于东汉政权的官员,到控制中央争夺霸权的霸主,因为乱世的作用,而成长为霸道政治路线的推行者。在东汉王朝的解体和军阀混战中,不仅董卓、李傕等凉州军阀到处屠杀人民,抢劫财物,就是打着勤王旗号的东方将领也“纵兵钞掠”。因而普遍出现了“人相食”的荒凉景象。这种情况的造成,除了应当归罪于东汉王朝的反动统治外,镇压农民起义和破坏社会生产的军阀,自然也是不可饶恕的罪首。但相对的说,各军阀之间,毕竟还是有所差别的。曹操在政治、军事、经济各方面的政策,虽然是为了保证自己的势力,但是也体现了有益于人民的地方,这一点比被他消灭的那些军阀还是胜过一筹的。比如他推行屯田,兴修水利,实行盐铁官卖制度,对社会经济的恢复和经济的整顿起了积极作用。
曹操一开始走上仕途就试图用比较严格的法律改变当时权豪横行的情况。但由于祸害根子在中央,曹操无法施展自己的意图。到他自己掌握政权以后,才得全面推行抑制豪强的法治政策。他起用王修、司马芝、杨沛、吕虔、满宠、贾逵等地方官吏,抑制不法豪强。
如果把袁绍和曹操在冀州先后推行的治术加以比较,就可以看出两种不同的情况:袁绍对大家族、豪强采取的是放纵的政策,所以在袁绍的宽纵政策下使豪强加强了对土地的兼并和对人民的欺凌,自然不能使百姓归附。所以袁绍虽地较大、兵较多、粮较足,终为曹操所败。曹操取得冀州后,立即“重豪强兼并之法”,因而收到了比较能使“百姓喜悦”的效果。在曹操统治下,从中央到地方的政治面貌和社会风气都与以前有所不同。朝中既少有倾轧营私的大臣;地方上恣意妄为而不受惩罚的官吏和豪强也受到一定程度的抑制。曹操还提倡廉洁,用崔琰、毛玠掌管选举,在选用人才必须在廉洁方面进行了政策指导,这样的形势下,社会风气有所好转。
与推行法治政策相辅而行的是曹操力图集权于己,不容许臣下有结党行为。为了监视群臣,他设置了“校事”。他要监视和控制的大臣,主要是指世家大族,他们累世为官,枝连叶附,名望和势力很大。曹操对之一方面不能不加以笼络,使之居上位而不予实权;一方面也利用出身微贱的校事来检查他们的行动。后来,孙权也仿效曹操设校事一职,可知在当时情况下,行霸道者设置监视大臣行动的校事,以防汉末和袁绍集团内大臣结党拉派的重演,还是不无道理的。从曹魏政权的内部结构看,世家大族出身的大臣最多,潜在的危险也较重。曹操为自身及子孙计,设置校事以伺察大臣,虽有些苛刻和搞权术,但不这样,是难以制服他们的。曹操还令诸将家属迁居邺城,以防军将们叛己外逃,也是比较有成效的霸道权术。
总起来看,黄河流域在曹操统治下,政治有一定程度的清明,经济逐步恢复,阶级压迫稍有减轻,社会风气有所好转。所以说,行霸道,只不过是从正统论观点出发的一种评判,而曹操推行的具体的政治措施,也和宦官专权的政治有天壤之别,这也说明了在乱世之中,别无选择的军阀们选择了霸道的政治路线之后,在具体的治国措施上,也不是完全的残暴和贪鄙。