而当袁绍听说曹『操』袭击乌巢时,认为这正是攻破曹『操』大营的好机会,因此派去的援兵很少,而以重兵围攻曹『操』大营。
由于曹『操』预留兵力精且多,曹营未破,乌巢败讯已经传来,大将张合、高览等人率部投降曹『操』,袁军溃散。袁绍弃军逃回黄河以北。曹军大获全胜,斩首七万余级,尽获袁军辎重图书珍宝。曹『操』清点袁绍书信,得到自己部下勾结袁绍的信,尽烧之,说:“当绍之强,孤犹不能自保,而况众人乎!”
客观条件上,曹『操』处于劣势,但由于他能正确分析客观条件,善于听取别人的正确意见,所以能扬长避短,采用正确的战略战术,使战争向有利于自己的方面转化,经过自己主观上的努力,终于赢得了胜利。官渡之战,曹『操』击溃了最大的敌人袁绍,由他统一北方已是大势所趋。官渡之战也是中国战争史上以少胜多、以弱胜强的着名战例。
远征乌桓
建安七年(202年),袁绍病死,袁绍的两个儿子袁谭、袁尚不和,发生火拼。袁谭不敌袁尚,向曹『操』乞降。
建安九年(204年)二月,曹『操』乘袁尚出兵攻打袁谭之机,进军围攻邺城(今河北邯郸临漳西一带)。袁尚率军回救,依滏水(今滏阳河)为营,曹『操』进军将其营寨包围。
袁尚害怕,请求投降,曹『操』不许。袁尚乘夜逃跑,袁军溃散。袁尚逃奔中山(今河北定县)。曹『操』命人拿着缴获袁尚的印绶节钺招降邺城守军,城中斗志崩溃。邺城遂被曹『操』攻破。从这一年起,曹『操』把自己的据点北迁到了冀州邺城【26】,政令军队此后皆从此出,而汉献帝的都城许县则只留些许官吏。
建安十年(205年)正月,曹『操』又以负约为名,攻灭袁谭,冀、青二州平定。于是,曹『操』上表让还兖州牧,改任冀州牧。袁尚兵败后,逃奔幽州刺史袁熙。不久,袁尚、袁熙又逃奔三郡乌桓。同年,黑山军首领张燕率领其部众十余万人投降曹『操』。【27】
建安十一年(206年),曹『操』攻灭高干,平定并州。
建安十二年(207年),曹『操』为了肃清袁氏残余势力,也为了彻底解决三郡乌桓入塞为害问题,决定远征乌桓。汉末,辽西、辽东、右北平三郡乌桓结合,是为三郡乌桓,其首领为辽西部的蹋顿。三郡乌桓与袁氏关系一直很好,并屡次侵扰边境,掳掠人口财物。