官渡の戦い
それに対し袁紹の本拠地である冀州は中国北部随一の豊かな州であった。
異民族を手懐ければ外からの脅威が薄い袁紹に対し、山西や南方にいまだ劉表・孫策・馬騰らが残り、迂闊に兵を割けない曹操軍の実情はかなり異なる。さらに戦前、劉備が徐州で曹操に対して反乱を起こしていることや、戦役中には袁家のお膝元である汝南でも反乱が起きたことさらに許昌周辺まで賊が侵入している事などから、電撃的に河南を制圧した曹操の治世への求心力は200年ではいまだ盤石ではないことが読み取れる。
などを考えると一概には言えず、定説を見ることは困難である。ちなみに後漢中期頃は、兗州・豫州・司隸・徐州(官渡の戦いの時の曹操支配地域)の合計人口は、冀州・青州・并州・幽州(官渡の戦いの時の袁紹支配地域)の合計人口よりも、多かったが 、官渡の戦いの時点では相次ぐ戦乱のため後漢の戸籍人口は7分の1以下にまで減っていた。『三国志』 蔣済伝によれば、景初年間に蔣済は「魏の戸籍人口は後漢の(治安が安定していた)頃の大きな郡一つ分程度にすぎない」と語っている。「潁川は先帝(曹操)が兵を起こした地である。官渡の戦役では、周囲の地域は瓦解し、遠きも近きも形勢を観望していた中で、この郡だけは節義を守り、若くて丈夫な者は戈を担って戦い、老いて弱々しい者は兵糧を背負ってくれた」と「文帝紀」の曹丕の詔勅にあるように、曹操は内外にいまだ心服しない脅威を数多く抱えていたことも間違いなく、容易に大戦に兵力を動員できたとは考えづらい。
『三国志演義』では「曹操軍は十万、袁紹軍は七十余万」とされる。
こうして曹操軍は袁紹軍の出鼻を叩きはしたが、袁紹の本隊が渡河する前には延津を放棄し、官渡へと移った。官渡は黄河から南東へ流れる官渡水を望み、濮水、陰溝水やその支流が複雑に交差する天険の地であり、曹操は兼ねてより河北・山東からの脅威を睨んでこの地に砦を整備してきていた。
黄河を渡河した袁紹は陽武(現在の河南省新郷市原陽県)に軍を進めた。沮授は「北(袁紹陣営)は数は多いが、勇猛さでは南(曹操陣営)に及びません。しかし食料の点では南は少なく、北に及ばない。南は速戦、北は持久戦が有利です」と進言したが、退けられた。
8月、袁紹は本隊で曹操軍を攻め、大兵力を生かし東西数十里に渡る陣を布いて少しずつ前進する、という戦術で曹操の陣営を圧迫した。曹操も陣営を分けて合戦したが、敗れ、官渡の砦に引き返した。砦に籠もった曹操に対して、袁紹は土山を築いたり地下道を掘ることで城壁を無効化しようとしたが、曹操も内部に同じものを造って対応した。また、袁紹は物見櫓を造り、土山から曹操陣営内に矢を射掛けた。曹操軍はこの攻撃に苦戦したが、于禁が土山の指揮をして奮戦したので曹操軍の戦意は上がった。また、曹操は発石車を造り、これらの物見櫓を破壊した。袁紹軍は投石を避けるため坑道を掘りながら前進を試みたが、曹操軍が急造した塹壕に阻まれた。
豫州の汝南郡(袁氏本貫の地)において劉辟が曹操に対して反乱を起こすと、袁紹は劉備を派遣してこれを支援し、許昌周辺を荒らし回って多くの県を寝返らせた。曹操は曹仁の分析に従い、曹仁の騎兵部隊を派遣してこれを打ち破り、諸県を奪回した。