建安十一年(公元206年)正月,曹操攻打高乾,高乾留彆將守城,自己逃入匈奴,向單於求救,單於不從。曹操圍壺關前後三月,最終城陷。高乾逃向荊州,在途中被上洛都尉王琰捕殺。]又東征淳於,遣樂進、李典擊破海賊管承。[]
建安十二年(公元207年),曹操回到鄴城,大封功臣二十多人,皆為列侯,其餘依次受封。
曹操為了肅清袁氏殘餘勢力,也為了徹底解決三郡烏桓入塞為害問題,決定遠征烏桓。漢末,遼西、遼東、右北平三郡烏桓結合,是為三郡烏桓,其首領為遼西部的蹋頓。三郡烏桓與袁氏關係一直很好,並屢次侵擾邊境,擄掠人口財物。
五月,曹操親率大軍到達無終(今河北玉田)。時正雨季,道路積水,“淺不通車馬,深不載舟船”。曹操從無終人田疇之議,改從一條久已斷絕,但“尚有微徑可尋”的路線進軍。在田疇的引導下,曹操大軍登徐無山(今河北玉田北),出盧龍塞(今河北喜峰口附近),“塹山堙穀五百餘裡”,直指烏桓老巢柳城(今遼寧朝陽南)。
八月,曹軍進至離柳城不足二百裡時,烏桓才發現,於是蹋頓與袁尚、袁熙等人率數萬騎兵迎擊。二軍相遇,時烏桓軍軍勢甚盛,而曹軍則是“車重在後,被甲者少,左右皆懼”,唯獨張遼力勸曹操迎戰。曹操登高了望,見烏桓軍雖多,但陣勢尚未擺好,遂命將自己的持麾授予張遼暫用。張遼指揮先鋒部隊,乘烏桓軍陣稍動之機,向烏桓軍發動猛攻。烏桓軍大敗,死者被野。烏桓單於蹋頓也被臨陣斬殺。曹軍在白狼山之戰中大獲全勝,胡、漢降者二十餘萬。
袁尚等人逃奔割據平州的公孫康。這時,有人勸曹操乘勢進擊公孫康,曹操說:“吾方使康斬送尚、熙首,不煩兵也。”遂率軍還師。不久,公孫康果然斬殺袁尚、袁熙,並將其首級獻與曹操。諸將不明所以,曹操說:“彼素畏尚等,吾急之則並力,緩之則自相圖,其勢然也。”於是,曹操攻破三郡烏桓,也徹底肅清了袁氏勢力。[]
十一月,曹操行至易水,代郡烏丸行單於普富盧、上郡烏丸行單於那樓率其部下名王來賀。
建安十三年(公元208年),曹操開辟玄武池訓練水軍。六月,曹操廢三公,恢複丞相製度,自任漢朝丞相。曹操基本平定北方後,兵鋒轉而南向。七月,進軍南征荊州牧劉表。八月,劉表病死,其子劉琮接任。九月,曹操大軍進至新野,劉琮以為無法抵擋,舉荊州之眾投降曹操。
曹操進軍江陵後,下令荊州官民,“與之更始”,同時封降服者十五人為侯,任劉表大將文聘為江夏太守,引用荊州名士韓嵩、鄧義等。益州牧劉璋也遣使向曹操致敬[],並開始接受征役,派兵充實曹軍。[]
這時,官渡之戰後投奔劉表的劉備屯駐於樊城(今湖北襄樊),聽說劉琮投降,便率軍向江陵(今屬湖北)撤退。江陵為荊州重鎮,存有大量軍用物資。曹操聽說,怕江陵落入劉備之手,遂親率五千騎兵從襄陽(今湖北襄樊)疾馳三百裡,在當陽長阪(今湖北當陽東北)將劉備追上,大破其軍,隨後進占江陵。
曹操在擊潰劉備後,乘勢想一舉鯨吞江東。孫劉兩軍在魯肅和諸葛亮等人的努力下,結成聯盟,孫權命都督周瑜率軍三萬[133],與劉備的兩萬人馬組成聯軍抵抗曹操。曹操自江陵東下,至赤壁(今湖北武昌西赤磯山)與孫、劉聯軍接戰不利,暫駐軍於烏林(今湖北洪湖東北),周瑜等人在南岸[],雙方隔江對峙。周瑜用詐降之計,命大將黃蓋率小戰船十艘,上裝柴草,灌以膏油,船頭釘上大釘,假稱投降,向北岸而進,至離曹營二裡之處時,各船一齊點火,然後借助風勢,直向曹軍衝去,曹軍大敗,舟船被燒[]。曹操率軍從華容道(今湖北監利西北)陸路撤回江陵。撤軍北還。
建安十四年(公元209年),周瑜攻取南郡,孫權借南郡予劉備,孫劉聯盟進一步得到鞏固。為防範孫權,曹操強製內遷淮南的民眾,引發江淮十餘萬戶百姓驚慌,使其儘皆渡江歸附孫權。同時,為穩定內部,曹操下令“死者家無基業不能自存者,縣官勿絕廩,長吏存恤撫循”。同年還親臨合肥,設置了揚州郡縣的長吏,修治芍陂屯田。年底回到譙。[]
赤壁之戰後,天下三分的局勢已經奠定。自此以後,曹操雖時有征伐,但主要精力用在經營曹氏勢力之上。[
建安十五年(公元210年)春,曹操下《求賢令》,提出不拘品行、唯才是舉的用人方針,目的是儘量把人才收羅到自己身邊。同年冬,修建銅雀台。[]
建安十六年(公元211年)正月,曹操的三個兒子被封為縣侯,世子曹丕成為五官中郎將,設置官屬,為丞相副。太原人商曜以大陵起兵,曹操遣夏侯淵、徐晃將其擊破。
三月,曹操遣司隸校尉鐘繇討伐漢中(治南鄭,今陝西漢中東)張魯,並令夏侯淵等出兵河東,與鐘繇會合。[]西征漢中要經過關中,關中諸侯馬超、韓遂、楊秋等十部心生疑懼,一時俱反。曹操立即派大將曹仁討伐他們,馬超等人屯據潼關,曹操對諸將說:“關西兵勇敢強悍,你們堅守不得與他們交戰。”[
七月,曹操率大軍親征關中。八月,曹操到達戰場,與馬超的軍隊隔著潼關對峙。曹操拖住馬超的部隊,暗中派徐晃、朱靈等將乘天黑渡過蒲阪津,占領河西,安營紮寨。閏八月,曹操在潼關北麵強渡黃河,渡了一半,馬超趕來,猛攻曹軍船隻。校尉丁斐見情況危急,放出大批牛馬引誘賊兵,敵軍爭搶牛馬,隊形大亂,曹操才得以渡過黃河,沿河邊向南修築通道。敵軍敗退,占據渭口抵抗,曹操多設疑兵,暗中用船將部隊送入渭水,架設浮橋,乘夜分兵在渭水南岸紮營。敵軍於夜間偷襲曹營,曹操派伏兵將他們擊敗。馬超等人駐守渭南,派人送信,以割讓黃河以西為條件求和,曹操不許。九月,進軍渡渭水,馬超等人多次挑戰,曹操並不應戰;馬超等人再三請求割地,並讓自己的兒子做人質求和,曹操聽從賈詡之計,假意答應。韓遂請求與曹操會麵,曹操與韓遂的父親同一年被舉為孝廉,又與韓遂是平輩,因此兩人馬靠馬在陣前談了很長時間,不談軍事,隻敘朋友舊事,說到高興處,二人拍手大笑。會見結束後,馬超問韓遂:“曹公說了些什麼?”韓遂回答:“沒說什麼。”於是馬超等人對他產生了猜疑。後來曹操又和韓遂等人陣前見麵,眾將勸道:“您和敵人見麵交談,不可大意,可設木行馬防備敵軍。”曹操照辦。兩軍見麵,敵將都在馬上向曹操行禮,秦、胡士兵都來看曹操,前後數層。曹操大笑著對他們說:“你們想看曹公嗎?他也是個人,沒有四隻眼睛、兩張嘴,隻是多了點智慧而已!”胡人前前後後擠上來看。曹操又列五千鐵騎為十重陣,鎧甲精光耀日,敵軍更加震恐。過了幾天,曹操又給韓遂寫了封信,上麵故意塗改許多地方,假裝成是韓遂改的,馬超等人因此對韓遂越來越懷疑。於是曹操與他們約定日期會戰,先用輕兵挑戰敵軍,打了很長時間後,曹操派出精銳騎兵夾攻,大敗關中聯軍。韓遂、馬超敗走涼州,楊秋則逃回安定,曹軍陣斬成宜和李堪等叛將,關中自此平定。[