曹操说:“我自然知道袁谭会耍些小聪明。他想让我攻击袁尚,然后趁机略民聚众,自以为破袁尚后,实力足以自强,可趁我军疲敝来与我抗衡。但击破袁尚后,我的势力更加强盛,哪可能会疲敝,让他有机可乘呢?”
曹操为了让袁谭暂时安心,还和袁谭结亲,让自己的儿子曹整娶袁谭的女儿。
建安九年(204年)正月,曹操率兵渡过黄河,截断淇水,引入白沟,作为运粮的通道。
二月,袁尚再次出兵攻打袁谭,曹操趁机进军邺城。
当时,苏由、审配镇守邺城,曹操进军到洹水时,苏由投降。
曹操到达邺城外,做土山、地道。
当时,武安长尹楷屯毛城,通上党粮道。
四月,曹操留曹洪攻打邺城,亲自击破尹楷,又击破邯郸的沮鹄,易阳令韩范、涉长梁岐皆举县投降。
五月,曹操毁土山、地道,作围堑,决漳水灌城,城中饿死者过半。
七月,袁尚率军回救,依滏水为营,曹操进军将其营寨包围。
袁尚害怕,请求投降,曹操不许。
袁尚乘夜逃跑,袁军溃散,袁尚逃奔中山。
曹操命人拿着缴获袁尚的印绶节钺招降邺城守军,城中斗志崩溃。
八月,审配的侄子审荣打开东城门,曹操军一举攻破邺城,擒杀审配。
之后,曹操哭祭袁绍墓,慰劳袁绍妻子,将袁绍的家人和宝物都还给了袁家,并赐给他们杂缯絮,供养他们家。
从这一年起,曹操把自己的据点北迁到了冀州的邺城,政令军队此后皆从此出,而许县则只留些许官吏。
九月,曹操下令:“河北遭受袁氏之难,不用再上缴今年租赋!”
又严厉打压豪强兼并,百姓喜悦。
曹操领冀州牧,并上表让还兖州牧。
当初,曹操围攻邺城时,袁谭趁机攻取甘陵、安平、勃海、河间,又击破故安的袁尚败军,兼并其众。
曹操写信给袁谭,责备他负约,与他断绝婚姻,将他的女儿送回,然后进兵。
十二月,曹操进入平原,略定诸县。
建安十年(205年)正月,曹操攻灭袁谭,冀、青二州平定。
当初,袁尚兵败后,投奔幽州刺史袁熙。
此月,幽州大将焦触、张南起兵反袁氏,袁尚、袁熙又逃奔三郡乌桓。
焦触自称幽州刺史,举郡县归附曹操。
四月,黑山军首领张燕率领其部众十余万人投降曹操。
故安人赵犊、霍奴起兵,杀死幽州刺史,三郡乌桓又围攻鲜于辅于犷平。
八月,曹操率兵北征,斩杀赵犊,又渡河救援犷平,乌桓奔走出塞。
当初,袁绍令其外甥高干领并州。
曹操攻破邺城后,高干投降了曹操,仍然被任命为并州刺史。
而曹操讨伐乌丸之时,高干举州反曹操,捉拿上党太守,举兵守壶口关。
曹操遣乐进、李典讨伐高干,高干退守壶关城。
建安十一年(206年)正月,曹操攻打高干。
高干留别将守城,自己逃入匈奴,向单于求救,单于不从。
曹操围壶关前后三月,最终城陷。
高干逃向荆州,在途中被上洛都尉王琰捕杀。
又东征淳于,遣乐进、李典击破海贼管承。
建安十二年(207年),曹操回到邺城,大封功臣二十多人,皆为列侯,其余依次受封。
曹操为了肃清袁氏残余势力,也为了彻底解决三郡乌桓入塞为害问题,决定远征乌桓。
汉末,辽西、辽东、右北平三郡乌桓结合,是为三郡乌