建安五年(200年),程昱迁为振威将军。当时袁绍在黎阳将移兵南渡,而程昱却只有七百兵守着鄄城,曹操知道危急,命人告诉程昱,欲加二千兵前往鄄城助守。程昱不肯接受,说道:“袁绍拥兵十万之众,自以为所向无前。他若见我领兵少,必不敢轻易来攻。但如果增加了我的士兵,过多则不可不攻,要攻之必克,只会两损其势。愿公不要怀疑!”曹操从之。袁绍闻程昱兵少,果然不敢进兵。曹操闻其事,向贾诩道:“程昱的胆略,超过孟贲、夏育啊。”
建安八年(203年),程昱纠合一伙山间民众及亡命之徒,得精兵数千人,于是引军与曹操会师黎阳,讨伐袁谭、袁尚。曹操使李典与程昱等以船运军粮。会和魏郡太守高蕃将兵屯河上,断绝水道,曹操对李典、程昱说:“若船不得过,下从陆道。”李典与诸将议曰:“蕃军少甲而恃水,有懈怠之心,击之必克。”程昱亦以为然。遂北渡河破高蕃,水道得通。二袁破走后,程昱拜为奋武将军,封安国亭侯。
建安十三年(208年),曹操南征荆州,刘琮投降,刘备奔江吴求助。有人认为孙权必杀刘备,程昱却料道:“孙权新任在位,尚未为海内所忌惮。而曹公无敌于天下,初举荆州,威震江表,孙权虽然有谋,亦不能独自抵挡。刘备则向有英名,关羽、张飞皆是万人之敌,孙权必定援助他们以防御我军。之后分道扬镳,刘备已得到实际资助,那孙权又不能得之而杀了。”孙权果然补给军兵与刘备,以抵御曹操。
攻取荆州后,中原之地大致平定,曹军势力逐渐扩充。一次,曹操抚着程昱之背说道:“当初兖州之败,若非听从你的计谋,我又怎可以来到这里呢?”程昱答道:“所谓‘知足不辱’(出自《道德经》第四十四章,指一个人只要懂得知足,就不会因为过份的贪婪而得到屈辱的收场),如今是我急流涌退的时候了。”于是正式表示从此缴还兵权,阖门不出。
建安十六年(211年),曹操征讨韩遂、马超时,曹丕留守,又使程昱参知军事。等时田银、苏伯等于河间作反,曹丕遣将军贾信征讨。叛军中有千余人请降,朝中大臣皆认为应按照旧法,尽诛降军,程昱却说:“以前之所以要诛杀投降者,是因为当时局势动荡,天下大乱,攻打贼人时采取‘围而后降者不赦’的方针,目的在于向其它乱党显示不尽早投降的后果,让所有敌人都感到惧怕,未围先降,那以后用兵便不需要动辄围城。如今天下形势大致已经安定,而且今次的战事是发生在领土之内,这些都是不成气候的贼众,杀了他们也没有可以示威示惧的地方,失去了以往诛降的策略意义。因此我认为这些降兵不可诛杀;即使要诛杀他们,也要先询问曹公的意见。”可是当时的大臣都说:“军事方面我们可以自行下决定,毋须事事向曹公启奏啊!”程昱闻言后,不再作出回应。
直至朝议完结后,曹丕离开议堂,特地引见程昱,向其询问:“您似乎言犹未尽?”程昱方才表示:“所谓‘可以自行下决定’的制度,是指面对临时之急,需要尽速立定决策的时候,才可以实行的。如今反贼已经被贾信制服,此事不会突发太过急剧的异变。因此老臣才不希望将军急于自作主张,做出专制的事情。”曹丕这才明白程昱的苦心,叹道:“程君真是考虑得十分周到啊!”他即时将河间叛变一事向曹操交代,曹操经居府长史国渊的进劝,果然下令不诛降者。曹操还都知道来龙去脉后,十分喜悦,向程昱说:“程卿不单止明于军事计略,亦善于处理别人父子之间的事情。”
程昱生性刚戾,与人多有不和。有人诬告程昱谋反,而曹操却对其赐待益厚。
建安十八年(213年),魏国建立时,程昱为卫尉,因与中尉邢贞争威仪,遭到罢免。
黄初元年(220年),曹丕代汉称帝,程昱复为卫尉,进封安乡侯,增邑三百户,并前共有八百户。分封少子程延及孙程晓为列侯。朝廷正欲以程昱为三公,程昱却在此时去世,曹丕亦为之流涕,追赠车骑将军,谥曰肃侯,寿八十。
程昱这个谋不及郭嘉,治国不如荀彧,军事能力不如荀攸,是个千里之才,做个太守还是可以的,不过程昱忠诚于曹魏,胆子大。
曹操没有军粮的时候拿人肉给曹操供应军粮,是个狠角色。