秋季七月,魏國開始建立社稷和宗廟。皇帝娶曹操的三個女兒為貴人,最小的一個留在魏國,等長大以後再進宮。
九月,修建金虎臺,開鑿水渠把漳水引進白溝,一直通到黃河。
冬季十月,曹操把魏郡分成東西兩部,設定了都尉。
十一月,魏國開始設定尚書、侍中、六卿等官員。馬超在漢陽,又依靠羌人、胡人禍害百姓。氐王千萬叛變,響應馬超與其合作,駐紮在興國。曹操派夏侯淵去討伐他們。
建安十九年春季正月,曹操開始親耕籍田。南安人趙衢、漢陽人尹奉等將領去討伐馬超,斬殺了他的妻子兒女。馬超逃到了漢中。
韓遂遷往金城進入氐王千萬的部落率領羌人、胡人的一萬多名騎兵和夏侯淵交戰。最終夏侯淵將他們擊敗,韓遂逃往西平。夏侯淵與眾將領攻打興國,然後進行了屠城。
朝廷撤銷了安東和永陽兩個郡。安定太守毌丘興將要去赴任,曹操告誠他說:“羌人、胡人想要與中國往來,就會自已派人來,你千萬不要派人去,因為很難找到合適的使者,一般人一定會讓羌人、胡人提出過分的要求,他順便從中得利。我們不答應這些要求,會失掉異族百姓的人心,答應這些要求又對國家沒有益處。”毌丘興到任後,派校尉範陵去羌人部落,範陵果然唆使羌人,讓他們請求朝廷授予屬國都尉之職。曹操說:“我早就預料到會是這樣了,我不是聖人,只不過經歷的事情多些罷了。”
三月,皇帝使魏公的地位列於諸侯王以上,另授予他金印、紅色綬帶、遠遊冠。
秋季七月,曹操征討孫權。
當初,隴西人宋建自稱為河首平漢王,在枹聚集兵馬,改換年號,設定百官,已經有三十多年了。曹操派遣夏侯淵從興國出兵討伐他。冬季十月,軍隊屠戮枹罕城,將宋建斬首,平定了涼州,曹操從合肥回到鄴城。
十一月,漢朝皇后伏氏曾在給父親、前任屯騎校尉伏完的信中,說皇帝由於董承被誅殺而怨恨曹操,用詞十分惡毒,書信被發現以後,伏皇后被廢黜處死,她的兄弟也都被處死。
十二月,曹操抵達孟津。皇帝命令曹操在儀仗隊中設定先驅騎兵,在宮殿中擺設鍾架。乙未日,曹操下令說:“有德行的人不一定能進取功名,進取功名的人不一定能有德行。陳平難道有敦厚的德行?蘇秦難道守信用嗎?然而陳平奠定了漢朝的基業,蘇秦拯救了弱小的燕國。由此看來,士人都有缺點,怎麼能廢棄不用呢!主管部門想明白這個道理,就不會有遺漏的人才,官府也就沒有荒廢的事務了。”他又說:“刑法是關係到百姓性命的大事,但是軍隊中有些主管刑獄的人不稱職,把有關乎三軍將士生死的大事交給他們,我很擔心。要選用通曉法律事理的人才,讓他們主持刑獄。”於是他專門設定了理曹掾屬。
建安二十年春季正月,皇帝將曹操的二女兒立為皇后。朝廷撤銷了雲中、定襄、五原、朔方各郡,把這幾個郡改成縣統領百姓,合併為新興郡。
三月,曹操向西去征討張魯,到了陳倉,將要從武都進入氐人地區;氐人堵塞了道路,曹操派出張郃、朱靈等人打敗了他們。
夏季四月,曹操從陳倉出大散關,到了河池。氐王竇茂擁有一萬多名士兵,憑藉險要地形不肯歸服;五月,曹操攻佔河池後屠城。
西平、金城的將領鞠演、蔣石等人心中畏懼一陣商議後一同將韓遂斬首,把他的頭送了過來。
秋季七月,曹操到了陽平。張魯派他的弟弟張衛與部將楊昂等人據守陽平關,在山腰修築了十幾里長的城牆,曹操無法攻克,就假裝領兵回去了。敵軍見大軍退去,防守便鬆懈了。
曹操見此秘密派出解剽、高祚等人越過天險,趁夜色偷襲大敗敵軍,斬殺敵將楊任,又去進攻張衛,張衛等人連夜逃走,張魯潰敗,逃向巴中。曹操的軍隊進入南鄭,繳獲了張魯倉庫中的全部珠寶。巴郡、漢中地區全部投降。曹操把漢寧郡重新設定為漢中郡;劃出漢中的安陽、西城兩縣成立西城郡,設定了太守;又劃出錫郡、上庸郡,設定了都尉。
八月,孫權圍攻合肥,被張遼和李典打敗。
九月,巴郡的七姓夷王樸胡賨邑侯杜濩領巴人、賨人前來歸附。
於是曹操將巴郡分成東西兩郡,任命樸胡為巴東郡太守,杜濩為巴西部太守,都封為列侯。皇帝授予曹操分封諸侯和任命太守、相國的權力。
冬季十月,曹操開始設定名號為侯到五大夫的爵位,加上過去的列侯、關內侯一共有六等,用來獎賞有軍功的人。
十一月,張魯率領殘餘部眾從巴中來投降。朝廷把張魯和他的五個兒子都封為列侯。
這時劉備襲擊劉璋,奪取了益州,佔據巴中。
曹操聞訊立刻派張郃去攻打劉備。
十二月,曹操從南鄭回來,留夏侯淵駐守漢中。