天子遷都於許昌,任命程昱為尚書。兗州還沒有安定,朝廷又任命程昱為東中郎將,兼任濟陰太守,總領兗州政務。

劉備失掉徐州,前來投奔曹操時程昱勸說曹操殺死劉備,曹操不聽,怕這樣失掉人心。

後來曹操又派劉備到徐州截擊袁術,程昱和郭嘉勸說太祖:“您前幾天不圖謀劉備,我們確實比不上您的胸襟。現在借給他兵馬,他一定會有二心。”

曹操一想立刻後悔了,派兵追趕已經來不及了,正趕上袁術病死,劉備來到徐州,於是殺死車胄,舉兵背叛曹操。

不久之後,程昱升任振威將軍。袁紹在黎陽,將要渡河向南進軍。

當時程昱率領七百人駐守鄄城,曹操聽說後,派人通知程昱,想要給他增派二千人。程昱不同意,說:“袁紹擁有十方大軍,自認為所向無前,現在看到我兵士很少,一定不會輕易前來進攻,如果給我增派兵力,他們經過時就不會不攻了,進攻就一定會取勝,白白讓我們兩邊都損失兵力。希望您不要顧慮鄄城!”

曹操採納了他的建議,果然袁紹聽說程昱兵少,沒有前往鄄城。

曹操對賈詡說:“程昱的膽識,超過了孟賁、夏育。”

程昱收編山川湖澤一帶的亡命之徒,得到精兵幾千人,於是領兵和曹操在黎陽會師,討伐袁譚、袁尚。袁譚、袁尚戰敗逃走,朝廷任命程昱為奮武將軍,封安國亭候。

曹操征討荊州,劉備逃往東吳。議論的人認為孫權一定會殺死劉備,程昱猜測說:“孫權剛剛繼位,不被天下英雄所畏懼。曹公在天下沒有對手,剛剛佔領荊州,威震江南,孫權雖然有智謀,但是也不能獨自抗衡曹公。劉備有英雄之名,關羽、張飛都有與萬人抗衡的勇力,孫權一定會利用他們來抵禦我們的進攻。等到災難解除,孫劉兩家勢必分離,但劉備力量已經壯大,孫權又沒有能力殺他了。”

孫權果然交給劉備很多兵士,來抵禦曹操。此後中原逐漸平定,曹操拍拍程昱的後背說:“兗州失敗時,不採納您的建議,我哪有今天?”

一次聚會中程昱說:“知道滿足就不會受辱,我可以告退了。”於是他親自上表交出兵權,閉門不出。

程昱性格剛直暴躁,與人交往多有冒犯。有人告發程昱謀反,曹操的賞賜和禮遇反而更加優厚了。

魏國建立以後,程昱擔任衛尉,和中尉邢貞為朝廷賜給的侍從和儀仗而爭鬥,被罷免。

文帝登上皇位,又任命程昱為衛尉,進封安鄉候,增加食邑三百戶,加上以前的一共八百戶。

朝廷又分出一些食邑封他的小兒子程延和孫子程曉為列候。正要任命他為三公,正趕上他去世了,文帝為他流下了眼淚,追贈車騎將軍頭銜,諡號為肅候。兒子程武繼承爵位。程武去世後,兒子程克繼承爵位。程克去世後,兒子程良繼承爵位。