二年春,襲定陶。濟陰太守吳資保南城,未拔。會呂布至,又擊破之。夏,布將薛蘭、李封屯鉅野,太祖攻之,布救蘭,蘭敗,布走,遂斬蘭等。布覆從東緡與陳宮將萬餘人來戰,時太祖兵少,設伏,縱奇兵擊,大破之。魏書曰:於是兵皆出取麥,在者不能千人,屯營不固。太祖乃令婦人守陴,悉兵拒之。屯西有大堤,其南樹木幽深。布疑有伏,乃相謂曰:「曹操多譎,勿入伏中。」引軍屯南十餘裡。明日復來,太祖隱兵堤裡,出半兵堤外。布益進,乃令輕兵挑戰,既合,伏兵乃悉乘堤,步騎並進,大破之,獲其鼓車,追至其營而還。布夜走,太祖復攻,拔定陶,分兵平諸縣。布東奔劉備,張邈從布,使其弟超將家屬保雍丘。秋八月,圍雍丘。冬十月,天子拜太祖兗州牧。十二月,雍丘潰,超自殺。夷邈三族。邈詣袁術請救,為其眾所殺,兗州平,遂東略陳地。
是歲,長安亂,天子東遷,敗於曹陽,渡河幸安邑。
建安元年春正月,太祖軍臨武平,袁術所置陳相袁嗣降。
太祖將迎天子,諸將或疑,荀彧、程昱勸之,乃遣曹洪將兵西迎,衛將軍董承與袁術將萇奴拒險,洪不得進。
汝南、潁川黃巾何儀、劉闢、黃邵、何曼等,眾各數萬,初應袁術,又附孫堅。二月,太祖進軍討破之,斬闢、邵等,儀及其眾皆降。天子拜太祖建德將軍,夏六月,遷鎮東將軍,封費亭侯。秋七月,楊奉、韓暹以天子還洛陽,獻帝春秋曰:天子初至洛陽,幸城西故中常侍趙忠宅。使張楊繕治宮室,名殿曰揚安殿,八月,帝乃遷居。奉別屯梁。太祖遂至洛陽,衛京都,暹遁走。天子假太祖節鉞,錄尚書事。獻帝紀曰:又領司隸校尉。洛陽殘破,董昭等勸太祖都許。九月,車駕出轘轅而東,以太祖為大將軍,封武平侯。自天子西遷,朝廷日亂,至是宗廟社稷制度始立。張璠漢紀曰:初,天子敗於曹陽,欲浮河東下。侍中太史令王立曰:「自去春太白犯鎮星於牛鬥,過天津,熒惑又逆行守北河,不可犯也。」由是天子遂不北渡河,將自軹關東出。立又謂宗正劉艾曰:「前太白守天關,與熒惑會;金火交會,革命之象也。漢祚終矣,晉、魏必有興者。」立後數言於帝曰:「天命有去就,五行不常盛,代火者土也,承漢者魏也,能安天下者,曹姓也,唯委任曹氏而已。」公聞之,使人語立曰:「知公忠於朝廷,然天道深遠,幸勿多言。」
天子之東也,奉自梁欲要之,不及。冬十月,公徵奉,奉南奔袁術,遂攻其梁屯,拔之。於是以袁紹為太尉,紹恥班在公下,不肯受。公乃固辭,以大將軍讓紹。天子拜公司空,行車騎將軍。是歲用棗祗、韓浩等議,始興屯田。魏書曰:自遭荒亂,率乏糧谷。諸軍並起,無終歲之計,飢則寇略,飽則棄餘,瓦解流離,無敵自破者不可勝數。袁紹之在河北,軍人仰食桑椹。袁術在江、淮,取給蒲蠃。民人相食,州里蕭條。公曰:「夫定國之術,在於強兵足食,秦人以急農兼天下,孝武以屯田定西域,此先代之良式也。」是歲乃募民屯田許下,得谷百萬斛。於是州郡例置田官,所在積穀。征伐四方,無運糧之勞,遂兼滅群賊,克平天下。
呂布襲劉備,取下邳。備來奔。程昱說公曰:「觀劉備有雄才而甚得眾心,終不為人下,不如早圖之。」公曰:「方今收英雄時也,殺一人而失天下之心,不可。」
張濟自關中走南陽。濟死,從子繡領其眾。二年春正月,公到宛。張繡降,既而悔之,復反。公與戰,軍敗,為流矢所中,長子昂、弟子安民遇害。魏書曰:公所乘馬名絕影,為流矢所中,傷頰及足,並中公右臂。世語曰:昂不能騎,進馬於公,公故免,而昂遇害。公乃引兵還舞陰,繡將騎來鈔,公擊破之。繡奔穰,與劉表合。公謂諸將曰:「吾降張繡等,失不便取其質,以至於此。吾知所以敗。諸卿觀之,自今已後不復敗矣。」遂還許。世語曰:舊制,三公領兵入見,皆交戟叉頸而前。初,公將討張繡,入覲天子,時始復此制。公自此不復朝見。
袁術欲稱帝於淮南,使人告呂布。布收其使,上其書。術怒,攻布,為布所破。秋九月,術侵陳,公東征之。術聞公自來,棄軍走,留其將橋蕤、李豐、梁綱、樂就;公到,擊破蕤等,皆斬之。術走渡淮。公還許。
公之自舞陰還也,南陽、章陵諸縣復叛為繡,公遣曹洪擊之,不利,還屯葉,數為繡、表所侵。冬十一月,公自南征,至宛。魏書曰:臨淯水,祠亡將士,歔欷流涕,眾皆感慟。表將鄧濟據湖陽。攻拔之,生擒濟,湖陽降。攻舞陰,下之。
三年春正月,公還許,初置軍師祭酒。三月,公圍張繡於穰。夏五月,劉表遣兵救繡,以絕軍後。獻帝春秋曰:袁紹叛卒詣公雲:「田豐使紹早襲許,若挾天子以令諸侯,四海可指麾而定。」公乃解繡圍。公將引還,繡兵來,公軍不得進,連營稍前。公與荀彧書曰:「賊來追吾,雖日行數里,吾策之,到安眾,破繡必矣。」到安眾,繡與表兵合守險,公軍前後受敵。公乃夜鑿險為地道,悉過輜重,設奇兵。會明,賊謂公為遁也,悉軍來追。乃縱奇兵步騎夾攻,大破之。秋七月,公還許。荀彧問公:「前以策賊必破,何也?」公曰:「虜遏吾歸師,而與吾死地戰,吾是以知勝矣。」
呂布復為袁術使高順攻劉備,公遣夏侯惇救之,不利。備為順所敗。九月,公東征布。冬十月,屠彭城,獲其相侯諧。進至下邳,布自將騎逆擊。大破之,獲其驍將成廉。追至城下,布恐,欲降。陳宮等沮其計,求救於術,勸布出戰,戰又敗,乃還固守,攻之不下。時公連戰,士卒罷,欲還,用荀攸、郭嘉計,遂決泗、沂水以灌城。月餘,布將宋憲、魏續等執陳宮,舉城降,生禽布、宮,皆殺之。太山臧霸、孫觀、吳敦、尹禮、昌豨各聚眾。布之破劉備也,霸等悉從布。布敗,獲霸等,公厚納待,遂割青、徐二州附於海以委焉,分琅邪、東海、北海為城陽、利城、昌慮郡。
初,公為兗州,以東平畢諶為別駕。張邈之叛也,邈劫諶母弟妻子;公謝遣之,曰:「卿老母在彼,可去。」諶頓首無二心,公嘉之,為之流涕。既出,遂亡歸。及布破,諶生得,眾為諶懼,公曰:「夫人孝於其親者,豈不亦忠於君乎!吾所求也。」以為魯相。魏書曰:袁紹宿與故太尉楊彪、大長秋梁紹、少府孔融有隙,欲使公以他過誅之。公曰:「當今天下土崩瓦解,雄豪並起,輔相君長,人懷怏怏,各有自為之心,此上下相疑之秋也,雖以無嫌待之,猶懼未信;如有所除,則誰不自危?且夫起布衣,在塵垢之間,為庸人之所陵陷,可勝怨乎!高祖赦雍齒之讎而群情以安,如何忘之?」紹以為公外託公義,內實離異,深懷怨望。臣松之以為楊彪亦曾為魏武所困,幾至於死,孔融竟不免於誅滅,豈所謂先行其言而後從之哉!非知之難,其在行之,信矣。
四年春二月,公還至昌邑。張楊將楊醜殺楊,眭固又殺醜,以其眾屬袁紹,屯射犬。夏四月,進軍臨河,使史渙、曹仁渡河擊之。固使楊故長史薛洪、河內太守繆尚留守,自將兵北迎紹求救,與渙、仁相遇犬城。交戰,大破之,斬固。公遂濟河,圍射犬。洪、尚率眾降,封為列侯,還軍敖倉。以魏種為河內太守,屬以河北事。
初,公舉種孝廉。兗州叛,公曰:「唯魏種且不棄孤也。」及聞種走,公怒曰:「種不南走越、北走胡,不置汝也!」既下射犬,生禽種,公曰:「唯其才也!」釋其縛而用之。
是時袁紹既並公孫瓚,兼四州之地,眾十餘萬,將進軍攻許,諸將以為不可敵,公曰:「吾知紹之為人,志大而智小,色厲而膽薄,忌克而少威,兵多而分畫不明,將驕而政令不一,土地雖廣,糧食雖豐,適足以為吾奉也。」秋八月,公進軍黎陽,使臧霸等入青州破齊、北海、東安,留于禁屯河上。九月,公還許,分兵守官渡。冬十一月,張繡率眾降,封列侯。十二月,公軍官渡。
袁術自敗於陳,稍困,袁譚自青州遣迎之。術欲從下邳北過,公遣劉備、硃靈要之。會術病死。程昱、郭嘉聞公遣備,言於公曰:「劉備不可縱。」公悔,追之不及。備之未東也,陰與董承等謀反,至下邳,遂殺徐州刺史車胄,舉兵屯沛。遣劉岱、王忠擊之,不克。獻帝春秋曰:備謂岱等曰:「使汝百人來,其無如我何;曹公自來,未可知耳!」魏武故事曰:岱字公山,沛國人。以司空長史從征伐有功,封列侯。魏略曰:王忠,扶風人,少為亭長。三輔亂,忠飢乏啖人,隨輩南向武關。值婁子伯為荊州遣迎北方客人;忠不欲去,因率等仵逆擊之,奪其兵,聚眾千餘人以歸公。拜忠中郎將,從征討。五官將知忠嘗啖人,因從駕出行,令俳取冢間髑髏系著忠馬鞍,以為歡笑。
廬江太守劉勳率眾降,封為列侯。
五年春正月,董承等謀洩,皆伏誅。公將自東征備,諸將皆曰:「與公爭天下者,袁紹也。今紹方來而棄之東,紹乘人後,若何?」公曰:「夫劉備,人傑也,今不擊,必為後患。孫盛魏氏春秋雲:答諸將曰:「劉備,人傑也,將生憂寡人。」臣松之以為史之記言,既多潤色,故前載所述有非實者矣,後之作者又生意改之,於失實也,不亦彌遠乎!凡孫盛制書,多用左氏以易舊文,如此者非一。嗟乎,後之學者將何取信哉?且魏武方以天下勵志,而用夫差分死之言,尤非其類。袁紹雖有大志,而見事遲,必不動也。」郭嘉亦勸公,遂東擊備,破之,生禽其將夏侯博。備走奔紹,獲其妻子。備將關羽屯下邳,復進攻之,羽降。昌豨叛為備,又攻破之。公還官渡,紹卒不出。
二月,紹遣郭圖、淳于瓊、顏良攻東郡太守劉延於白馬,紹引兵至黎陽,將渡河。夏四月,公北救延。荀攸說公曰:「今兵少不敵,分其勢乃可。公到延津,若將渡兵向其後者,紹必西應之,然後輕兵襲白馬,掩其不備,顏良可禽也。」公從之。紹聞兵渡,即分兵西應之。公乃引軍兼行趣白馬,未至十餘裡,良大驚,來逆戰。使張遼、關羽前登,擊破,斬良。遂解白馬圍,徙其民,循河而西。紹於是渡河追公軍,至延津南。公勒兵駐營南阪下,使登壘望之,曰;「可五六百騎。」有頃,復白:「騎稍多,步兵不可勝數。」公曰:「勿復白。」乃令騎解鞍放馬。是時,白馬輜重就道。諸將以為敵騎多,不如還保營。荀攸曰:「此所以餌敵,如何去之!」紹騎將文丑與劉備將五六千騎前後至。諸將復白:「可上馬。」公曰:「未也。」有頃,騎至稍多,或分趣輜重。公曰:「可矣。」乃皆上馬。時騎不滿六百,遂縱兵擊,大破之,斬醜。良、醜皆紹名將也,再戰,悉禽,紹軍大震。公還軍官渡。紹進保陽武。關羽亡歸劉備。
八月,紹連營稍前,依沙塠為屯,東西數十里。公亦分營與相當,合戰不利。羽鑿齒漢晉春秋曰:許攸說紹曰:「公無與操相攻也。急分諸軍持之,而徑從他道迎天子,則事立濟矣。」紹不從,曰:「吾要當先圍取之。」攸怒。時公兵不滿萬,傷者十二三。臣松之以為魏武初起兵,已有眾五千,自後百戰百勝,敗者十二三而已矣。但一破黃巾,受降卒三十餘萬,餘所吞併,不可悉紀;雖征戰損傷,未應如此之少也。夫結營相守,異於摧鋒決戰。本紀雲:「紹眾十餘萬,屯營東西數十里。」魏太祖雖機變無方,略不世出,安有以數千之兵,而得逾時相抗者哉?以理而言,竊謂不然。紹為屯數十里,公能分營與相當,此兵不得甚少,一也。紹若有十倍之眾,理應當悉力圍守,使出入斷絕,而公使徐晃等擊其運車,公又自出擊淳于瓊等,揚旌往還,曾無抵閡,明紹力不能制,是不得甚少,二也。諸書皆雲公坑紹眾八萬,或雲七萬。夫八萬人奔散,非八千人所能縛,而紹之大眾皆拱手就戮,何緣力能制之?是不得甚少,三也。將記述者欲以少見奇,非其實錄也。按鍾繇傳雲:「公與紹相持,繇為司隸,送馬二千餘匹以給軍。」本紀及世語並雲公時有騎六百餘匹,繇馬為安在哉?紹復進臨官渡,起土山地道。公亦於內作之,以相應。紹射營中,矢如雨下,行者皆蒙楯,眾大懼。時公糧少,與荀彧書,議欲還許。彧以為「紹悉眾聚官渡,欲與公決勝敗。公以至弱當至強,若不能制,必為所乘,是天下之大機也。且紹,布衣之雄耳,能聚人而不能用。夫以公之神武明哲而輔以大順,何向而不濟!」公從之。
孫策聞公與紹相持,乃謀襲許,未發,為刺客所殺。
汝南降賊劉闢等叛應紹,略許下。紹使劉備助闢,公使曹仁擊破之。備走,遂破闢屯。
袁紹運谷車數千乘至,公用荀攸計,遣徐晃、史渙邀擊,大破之,盡燒其車。公與紹相拒連月,雖比戰斬將,然眾少糧盡,士卒疲乏。公謂運者曰:「卻十五日為汝破紹,不復勞汝矣。」冬十月,紹遣車運谷,使淳于瓊等五人將兵萬餘人送之,宿紹營北四十里。紹謀臣許攸貪財,紹不能足,來奔,因說公擊瓊等。左右疑之,荀攸、賈詡勸公。公乃留曹洪守,自將步騎五千人夜往,會明至。瓊等望見公兵少,出陳門外。公急擊之,瓊退保營,遂攻之。紹遣騎救瓊。左右或言「賊騎稍近,請分兵拒之」。公怒曰:「賊在背後,乃白!」士卒皆殊死戰,大破瓊等,皆斬之。曹瞞傳曰:公聞攸來,跣出迎之,撫掌笑曰:「(子卿遠)〔子遠,卿〕來,吾事濟矣!」既入坐,謂公曰:「袁氏軍盛,何以待之?今有幾糧乎?」公曰:「尚可支一歲。」攸曰:「無是,更言之!」又曰:「可支半歲。」攸曰:「足下不欲破袁氏邪,何言之不實也!」公曰:「向言戲之耳。其實可一月,為之柰何?」攸曰:「公孤軍獨守,外無救援而糧谷已盡,此危急之日也。今袁氏輜重有萬餘乘,在故市、烏巢,屯軍無嚴備;今以輕兵襲之,不意而至,燔其積聚,不過三日,袁氏自敗也。」公大喜,乃選精銳步騎,皆用袁軍旗幟,銜枚縛馬口,夜從間道出,人抱束薪,所歷道有問者,語之曰:「袁公恐曹操鈔略後軍,遣兵以益備。」聞者信以為然,皆自若。既至,圍屯,大放火,營中驚亂。大破之,盡燔其糧谷寶貨,斬督將眭元進、騎督韓莒子、呂威璜、趙叡等首,割得將軍淳于仲簡鼻,未死,殺士卒千餘人,皆取鼻,牛馬割唇舌,以示紹軍。將士皆怛懼。時有夜得仲簡,將以詣麾下,公謂曰:「何為如是?」仲簡曰:「勝負自天,何用為問乎!」公意欲不殺。許攸曰:「明旦鑑於鏡,此益不忘人。」乃殺之。紹初聞公之擊瓊,謂長子譚曰:「就彼攻瓊等,吾攻拔其營,彼固無所歸矣!」乃使張郃、高覽攻曹洪。郃等聞瓊破,遂來降。紹眾大潰,紹及譚棄軍走,渡河。追之不及,盡收其輜重圖書珍寶,虜其眾。獻帝起居注曰:公上言「大將軍鄴侯袁紹前與冀州牧韓馥立故大司馬劉虞,刻作金璽,遣故任長畢瑜詣虞,為說命錄之數。又紹與臣書雲:'可都鄄城,當有所立。'擅鑄金銀印,孝廉計吏,皆往詣紹。從弟濟陰太守敘與紹書雲:'今海內喪敗,天意實在我家,神應有徵,當在尊兄。南兄臣下欲使即位,南兄言,以年則北兄長,以位則北兄重。便欲送璽,會曹操斷道。'紹宗族累世受國重恩,而凶逆無道,乃至於此。輒勒兵馬,與戰官渡,乘聖朝之威,
得斬紹大將淳于瓊等八人首,遂大破潰。紹與子譚輕身迸走。凡斬首七萬餘級,輜重財物巨億。」公收紹書中,得許下及軍中人書,皆焚之。魏氏春秋曰:公雲:「當紹之強,孤猶不能自保,而況眾人乎!」冀州諸郡多舉城邑降者。