又很受人们拥戴,最终不会甘心居人之下,不如早点除掉他。”太祖说:“现在正是广揽天下英雄才俊的时候,为杀一个人而失去天下人心,不值得。”张济从关中逃往南阳,死后由他的侄子张绣统领他原来的部属。建安二年(公元197年)正月,太祖到了宛县。张绣先投降太祖,后来又反悔,发起了叛乱。太祖前去镇压,却被打败,还被流箭射中,其长子曹昂、侄子安民不幸阵亡。太祖于是率兵退回舞阴,张绣带骑兵抄袭,被太祖击败。张绣逃到穰县,和刘表的部队合在一起。太祖对众将说:“我让张绣等人投降,却犯了没有立即扣留人质的过失,所以才会发生这样的情况。现在我知道自己失败的原因了。请你们引以为鉴,今后不要犯这样的错误了。”随即撤回许都。
袁术想在淮南称帝,派使节告诉吕布。吕布扣押了他的使者,将他的书信上交给朝廷。
袁术恼羞成怒,带兵攻打吕布,被吕布打败。
这年九月,袁术带兵侵犯陈国,太祖率军东进讨伐袁术。袁术得知太祖亲自出征前来,弃军而逃,留下部下桥蕤、李丰、梁纲、乐就等人迎战。太祖到后,一举击败桥蕤等人,并将他们一一问斩。袁术逃到淮南,太祖返回许都。
自从太祖从舞阴回来后,南阳、章陵等县又发起叛乱,归附张绣。太祖派遣曹洪前去镇压,没有得胜。曹洪还师驻守叶县,常被张绣、刘表侵袭。这年十一月,太祖亲自带兵南征,到达宛城。刘表的部将邓济据守在湖阳,太祖将湖阳攻克,生擒邓济,余下的湖阳众兵投降了。随后太祖又攻克了舞阴。
建安三年(公元198年)正月,太祖回到许都,初次设置军师祭酒一职。三月,曹军在穰县围攻张绣。五月,刘表派兵援救张绣,切断了曹军的退路。太祖准备撤回,张绣带兵追赶,曹军不能前进,只好扎营结寨往前挪进。太祖写信给苟或说:“贼寇对我军紧追不舍,虽然每天只前进几里路,但按照我的预测,到安众县就能把张绣打败。”到了安众,张绣和刘表合在一起占据有利地形,对太祖前后夹击。太祖于是派人连夜挖地道,将辎重武器悄悄运过去,并布下阵势。天亮时候,敌军以为太祖逃跑,全部人马都来追赶。这时太祖派出伏兵步骑两面夹攻张绣、刘表,一举将他们击破。七月,太祖回到许都。苟或问太祖:“先前您预测一定会击败贼军,为什么呢?”太祖说:“敌人阻拦我撤回部队,想要把我逼人死地决战,由此我知道必定会胜。”吕布又帮助袁术,派高顺攻打刘备,太祖派夏侯悖前去援助,没有成功。刘备被高顺打败。九月,太祖向东讨伐吕布。十月,血洗彭城,活捉彭城国相侯谐。曹军进军到下邳,吕布亲自率骑兵迎战,被太祖打败,其部下勇将成廉被俘虏。太祖追击到城下,吕布惶恐不已,想投降。陈宫等人哭着劝他不要投降,并向袁术求救,建议吕布出城迎战。吕布又被打败后,只得退回城中固守。曹军久攻不下,而且经过数次连续战斗,士兵非常疲劳,只想回去,斗志很弱。太祖采纳苟攸、郭嘉的计策,挖开泗水和沂水,用水攻城。不出一个多月,吕布的部下宋宪、魏续等人捉拿了陈宫,献城投降。
这样吕布、陈宫都被活捉并被杀掉。太山郡臧霸、孙观、吴敦、尹礼、昌豨等人都聚集了不少兵马。吕布打败刘备时,他们投靠了吕布。
吕布战败后,臧霸等人都被俘,太祖对他们非常优待,随后还划分青州、徐州临海的地区给他们管辖,又将琅邪、东海、北海三郡中部分区域分出,设立了城阳、利城、昌虑三郡。
当初太祖还是兖州牧时,曾委任东平人毕谌为别驾。张邈发起叛乱,劫持了毕谌的母亲、弟弟、妻子和儿女,太祖向他道歉并让他走,说:“你的老母亲在叛贼那里,你可以投向他。”毕谌叩头表示决无二心,太祖夸奖了他,并流下了感动的泪水。毕谌出去后,就投靠了张邈。到吕布被击败,毕谌也被俘虏的时候,众人都为毕谌捏一把汗,太祖说:“如此孝敬父母的人,哪有不忠于君主的呢?我正需要这样的人。”于是任命他为鲁国国相。
建安四年(公元199年)二月,太祖回到昌邑。张扬的部将杨丑将张扬杀害,眭固又把杨丑杀了,并率部下投靠了袁绍,屯兵在射犬。
四月,曹军到了黄河附近,太祖派史涣、曹仁横渡黄河攻打眭固。眭固派张扬的旧部长史薛洪、河内太守缪尚在原地待命守卫,自己带领士兵向北迎着袁绍而去,请求救援。不料却和史涣、曹仁狭路相逢。双方在犬城交战,眭固大败,被斩首。随后太祖渡过黄河,包围了射犬。薛洪、缪尚率众投降,被封为列侯。太祖带军回到敖仓,让魏种做河内太守,管理黄河以北的事务。
当初太祖曾推举魏种为孝廉。兖州发生叛乱的时候,太祖说:“只有魏种不会背叛我。”后来听说魏种逃走,太祖大怒说:“你魏种只要没逃到南边越地,北边胡地,看我怎么惩治你!”等到攻下射犬,俘获魏种时,太祖说:“谁让他是个人才呢!”便放了他并加以重用。
这时袁绍已将公孙瓒打败,夺得了青、冀、幽、并四州的地盘,聚集了十多万士兵,准备进攻许都。众将都觉得抵抗不了,太祖说:“我了解袁绍的为人,志向远大却缺少谋略,色厉内荏,虽英勇善战却缺乏威信。士兵很多但用人不当,将士们的骄横使得政令不能统一实施,占据的地盘虽广阔,粮食虽充足,但这些恰恰是为我们准备的。”八月,太祖进军黎阳,派臧霸等进攻青州,击破齐国、北海国、安国后,留下于禁驻扎在黄河沿岸。九月,太祖回到许都,分兵守卫官渡。十一月,张绣率部下投降,被封为列侯。十二月,太祖带兵驻扎在官渡。
袁术自从陈国战败,稍微萎靡不振,袁谭从青州派人要接他过去。袁术准备从下邳北部通过,太祖派遣刘备、朱灵拦截他。恰逢袁术病死了。程昱、郭嘉得知太祖派刘备出去,就对太祖说:“不该放刘备出去。”太祖后悔了,但已来不及追赶。刘备在走之前就和董承等密谋反叛,到达下邳后,杀了徐州刺史车胄,带兵进驻沛县。太祖派刘岱、王忠前去攻打他,没有成功。
庐江大守刘勋率部下投降,被封为列侯。
建安五年(公元200年)正月,黄承等人的造反一事败露,都被诛杀。太祖准备亲自带兵向东讨伐刘备,众将领都说:“和太祖争夺天下的是袁绍,现在袁绍刚到你却置之不顾,要去东征刘备,假如袁绍乘机从后袭击,怎么办?”太祖说:“刘备是人中豪杰,现在不除掉他,后患无穷。袁绍虽然志向远大,但料事缓慢,一定还按兵不动。”郭嘉也劝太祖东征,于是东进攻打刘备,击败了他,俘虏了他的部下夏侯博。刘备逃走,投奔袁绍,他的妻子孩子也被俘虏。刘备的部将关羽驻守在下邳,太祖再次攻打下邳,关羽投降。昌稀先前叛变投奔刘备,这次也被击败。太祖返回官渡,袁绍最终没有出兵袭击。
二月,袁绍派郭图、淳于琼、颜良到白马攻打东郡太守刘延,自己带兵到黎阳,准备渡过黄河。四月,太祖为援救刘延北上。苟攸劝太祖说:“眼下我军寡不敌众,只有让敌军兵力分散才行。主公到了延津,如果假装要过河去断其后路,袁绍必定会分兵前往守卫,这样派骑兵袭击白马,出其不意,攻其不备,必定能够擒住颜良。”太祖采纳了他的计策。袁绍得知太祖渡河,立即分出兵力向西防守。太祖带兵日夜兼程赶赴白马,离白马只有十多里地了,颜良才知道消息,惊恐万分,忙出城迎战。
太祖派张辽、关羽打头阵,一战告捷,把颜良杀了,这样解了白马的围困,后来让居民都迁走,沿着黄河西进。此时袁绍已渡过黄河,追赶曹军,直到延津南部。太祖命令军队停止前进,驻扎在白马山南坡。派人登高观察敌情,回来告知:“大约有五六百骑兵。”过了一会儿又有人报告说:“骑兵越来越多,步兵也有很多。”太祖说:“别再报了。”于是命令骑兵把马鞍解下,放开马。这时候,在白马缴获的辎重物资堆满了道路。众将认为敌人力量太强,还是退守回营。苟攸说:“这正是为了引诱敌人,怎么能退回!”袁绍骑兵将领文丑和刘备率领骑兵五六千人先后赶到。众将又说:“可以上马出发了。”太祖说:“还不到时候。”过了一会儿,敌方骑兵又来了很多,有的还上前抢辎重。太祖说:“可以出发了。”当时曹军骑兵不到六百人,但纵横出击,击败敌军,杀了文丑。颜良、文丑都是袁绍部下有名的勇将,两次战斗,都被擒杀,袁绍军心大动。太祖回到官渡,袁绍挥军进发守卫阳武,关羽逃走投奔刘备。
这年八月,袁绍连营扎寨向前推进,靠着沙丘驻扎,营寨东西长达几十里。太祖也分别扎营和袁绍对峙,但交战失败。当时太祖的兵力只有不到一万人,其中还有二三成的伤兵。
袁绍又领兵进攻官渡,堆起土山,挖了地道,太祖也在官渡内准备战事,以迎战袁绍。袁绍命令手下向曹军营中放箭,箭如雨下,经过的人都要举着盾牌,大家非常害怕。当时太祖军中粮草不多,太祖写信给苟或,和他商讨说想退回许都。苟或认为:“袁绍的全部兵马都聚集在官渡,是想和主公决一死战。主公凭最弱的兵力抵抗最强的兵力,如果不能战胜,一定会被对方占上风,这正是得失天下的关键时机。
袁绍只不过是个凡夫俗子中的佼佼者,虽然能召集很多人却不知道怎样利用。而主公凭着非凡的才能、料事如神的智慧再加上皇上的旨意,有什么不能战胜的呢?”太祖同意了他。
孙策听到太祖和袁绍相持不下的消息,就密谋攻打许都,还没出发就被刺客杀了。
归降的汝南贼寇刘辟等人发起叛乱,和袁绍里应外合,在许都城郊一带抢劫民财。袁绍命刘备前去帮助刘辟,太祖派曹仁将他打败。刘备逃走,随后曹军击败了刘辟及其驻军。
袁绍用来运粮的几千辆车到了,太祖采纳苟攸的计策,派徐晃、史涣追击,大败袁军,将粮车全部烧毁。太祖和袁绍相持了几个月,虽然每逢正面交锋都会杀掉袁绍的大将,但兵力不足,粮草困乏,士兵疲惫不堪。太祖对运送粮草的人说:“再给我十五天,我就能打败袁绍,到时候就不用再劳累你们了”。十月,袁绍派车运粮,命淳于琼等五人带一万多兵将护送,在袁军大寨向北四十里的地方扎营安歇。
袁绍的谋臣许攸贪财,袁绍没有用他,他就来投奔太祖,游说太祖袭击淳于琼等人。太祖的部下都怀疑他,只有苟攸、贾诩劝太祖出击。
于是太祖让曹洪留下守卫,自己带领五千人连夜赶路,在天明前到达。淳于琼见太祖兵将少,就在门外摆开了阵式准备迎战。太祖急忙下令出击,淳于琼退守营中,于是曹军开始攻营。
袁绍派遣骑兵援助淳于琼,部下中有人说“敌人骑兵快到了,请分出部分兵力去阻挡他们。”太祖发怒说:“到了我们身后再报不迟!”兵将们浴血奋战,大败淳于琼,把他们全都杀了。
开始叫袁绍听说太祖带兵袭击淳于琼,就对长子袁谭说:“趁他攻击淳于琼的时机,我们进兵打击他的大本营,让他没有地方可回。”于是便派张邰、高览攻打曹洪,张郃等人得知淳于琼被击败,就投降了。袁绍的军队溃不成军,袁绍和袁谭丢下部队逃走,渡黄河而去。曹军没来得及追赶,就收缴了袁军丢下的所有辎重物资、图书和奇珍异宝,并俘虏了许多人。太祖在所收缴的袁绍的书信中,发现许都官员和自己部队里的人给袁绍的信,就把它们全烧掉了。冀州各郡大多数献城投降了。
当初,汉桓帝时,曾有一黄星出现在楚国、宋国交界的地方。辽东人殷馗会观察天象,预言五十年后会有真命天子出现在梁国和沛国之间,没有人能够抵挡他的锋芒。到现在正好五十年过去了,而且太祖击败了袁绍,天下再没有人能与他抗衡。
建安六年(公元201年)四月,太祖从黄河岸边起兵,攻打驻扎在仓亭的袁绍部队,并击败了他们。袁绍逃回冀州,叉聚集了一些散兵,攻占、平定了那些先前叛变的郡县。九月,太祖回到许都。袁绍还没被打败时,他派刘备袭击汝南,汝南贼寇共部等人投靠了他。太祖派蔡扬征讨共都,出师不利,被共都打败。太祖南征刘备,刘备得知太祖亲自率军前来,逃往刘表那里,共都等人也都四处奔散。
建安七年(公元202年)七月,太祖驻扎在谯县,下令说:“我招兵起义,是为了平定天下的暴乱。但我故乡的人们差不多全死了,我在这一带行走了一整天都没遇到一个认识的人,这样凄凉的境况真让我伤心。从我开始起义的时候算起,阵亡白乞将士中没有后代的,请他的亲戚给他过继子嗣,给他们田地和耕牛,建立私塾请老师教他们学习。为他们修庙宇,让他们能够祭祀祖先。要是阵亡将士的在天之灵能知道这一切,我死后也没有什么遗憾了。”随后又到浚仪,治理睢阳渠,又派人用牛、羊、猪三牲祭祀已故太尉桥玄。后来,太祖又带部队驻扎在官渡。
袁绍自从军队被打败后,染上疾病吐血,这年五月去世。袁绍的小儿子袁尚接替父亲,取代了哥哥袁谭自己号称是车骑将军,屯兵于黎阳。九月,太祖前去讨伐他们,一连打了好几仗,袁谭、袁尚连连败退,在城中死守。
建安八年(公元203年)三月,太祖攻击黎阳外城,袁军出城迎战。曹军出击,大败袁军,袁谭、袁尚连夜逃走。四月,曹军进入邺城。
五月,太祖回到许都,留下贾信驻扎在黎阳。