建安十年（公元205年）春正月，曹操攻袁譚，激戰從早至午仍不能勝；曹操乃自執桴鼓，士卒咸奮，應時破陷，斬袁譚及其妻子，冀州從此平定。
建安十二年春（公元207年）二月，曹操自淳于還鄴，令曰：「吾起義兵誅暴亂，於今十九年，所征必克，豈吾功哉？乃賢士大夫之力也。天下雖未悉定，吾當要與賢士大夫共定之；而專饗其勞，吾何以安焉！其促定功行封。」於是大封功臣二十餘人，皆為列侯，其餘各以次受封，及復死事之孤，輕重各有差。因表萬歲亭侯荀彧功狀；三月，增封荀彧千戶。
曹操決意北征烏桓，諸將皆曰：「袁尚，亡虜耳，夷狄貪而無親，豈能為尚用？今深入征之，劉備必說劉表以襲許都。萬一為變，事不可悔。」惟有郭嘉策算劉表必不能任用劉備，勸曹操行之，不用擔憂。嘉曰：「公雖威震天下，胡恃其遠，必不設備。因其無備，卒然擊之，可破滅也。且袁紹有恩於民夷，而尚兄弟生存。今四州之民，徒以威附，德施未加，捨而南征，尚因烏丸之資，招其死主之臣，胡人一動，民夷懼應，以生蹋頓之心，成覬覦之計，恐青、冀非己之有也。表，坐談客耳，自知才不足以御備，重任之則恐不能制，輕任之則備不為用，雖虛國遠征，公無憂矣。」曹操遂從郭嘉計，虛國遠征烏桓。
袁尚、袁熙率數千騎奔遼東。起初，遼東太守公孫康恃遠不服。及曹操破烏丸，左右諫言曹操接著征討遼東，擒袁尚兄弟。曹操曰：「吾方使（公孫）康斬送尚、熙首，不煩兵矣。」九月，曹操引兵自柳城還，公孫康即斬尚、熙及速僕丸等，傳其首級與曹操。諸將或問：「公還而（公孫）康斬送尚、熙，何也？」曹操曰：「彼素畏（袁）尚等，吾急之則並力，緩之則自相圖，其勢然也。」益顯曹操料敵如神，指揮若定，大軍事家霸氣之威風，凜然世間。
曹操率軍凱旋而歸。十一月，易水河岸，代郡烏桓單于普富盧、上郡烏桓單于那樓來見曹操，表示歸服。三郡烏桓被集體遷至內地。曹操名詩《龜雖壽》即為此時所作。