建安元年(公元196年)正月,程昱与荀彧力劝曹操迎接天子,曹操于是遣曹洪率兵西迎,但被卫将军董承与袁术手下苌奴拒险阻挡。汉献帝定都许县后,以程昱为尚书。其时兖州尚未绥抚停当,于是又以程昱为东中郎将,领济阴太守,都督兖州事。刘备失去徐州后,前来归附曹操。程昱对曹操说:“我观刘备有雄才又非常得人心,终究不会居于人下,不如乘早把他除掉。”曹操说:“如今正是收揽天下英雄之时,杀一人而失天下之心,不可。”于是不从。
建安四年(公元199年),曹操派遣刘备至徐州截击袁术,程昱与郭嘉一同赶去劝谏:“放了刘备,变乱要发生了。”程昱、郭嘉对曹操说:“明公之前不除掉刘备,程昱等人确实没有您想得对。但如今借给他士兵,他必定会有异心的。”曹操后悔,但已追之不及。果然,袁术病死后,刘备去到徐州,杀车胄,举兵背反曹操。
勇过贲育
建安五年(公元200年),程昱迁为振威将军。当时袁绍在黎阳将移兵南渡,而程昱却只有七百兵守着鄄城,曹操知道危急,命人告诉程昱,欲加二千兵前往鄄城助守。程昱不肯接受,说道:“袁绍拥兵十万之众,自以为所向无前。他若见我领兵少,必不敢轻易来攻。但如果增加了我的士兵,过多则不可不攻,要攻之必克,只会两损其势。愿公不要怀疑!”曹操从之。袁绍闻程昱兵少,果然不敢进兵。曹操闻其事,向贾诩道:“程昱的勇胆,超过了贲育(孟贲、夏育的合称)啊。”
建安七年(公元202年),程昱纠合一伙山间民众及亡命之徒,得精兵数千人,于是引军与曹操会师黎阳,讨伐袁谭、袁尚。曹操使李典与程昱等以船运军粮。当时袁尚令魏郡太守高蕃将兵屯河上,断绝水道,曹操对李典、程昱说:“若船不得过,下从陆道。”李典与诸将商议:“高蕃军缺少战甲而依赖水势,有懈怠之心,攻打他们必定能取胜。”程昱也认为李典说得对。于是北渡河击破高蕃,水道得通。二袁破走后,程昱拜为奋武将军,封安国亭侯。
知足不辱
建安十三年(公元208年),曹操南征荆州,刘琮投降,刘备奔吴求助。有人认为孙权必杀刘备,程昱却料道:“孙权新任在位,尚未为海内所忌惮。而曹公无敌于天下,初举荆州,威震江表,孙权虽然有谋,亦不能独自抵挡。刘备则向有英名,关羽、张飞皆是万人之敌,孙权必定援助他们以防御我军。之后分道扬镳,刘备已得到实际资助,那孙权又不能得之而杀了。”孙权果然补给军兵与刘备,以抵御曹操。之后中原之地大致平定,曹军势力逐渐扩充。一次,曹操抚着程昱之背说道:“当初兖州之败,若非听从你的计谋,我何以至此?”程昱的宗人奉上牛酒大会,程昱说:“所谓‘知足不辱’(出自《道德经》第四十四章,指一个人只要懂得知足,就不会因为过份的贪婪而得到屈辱的收场),如今是我急流涌退的时候了。”于是正式表示从此缴还兵权,阖门不出。
善处人事
建安十六年(公元211年),曹操征讨韩遂、马超时,曹丕留守,又使程昱参知军事。等时田银、苏伯等于河间作反,曹丕遣将军贾信征讨。叛军中有千余人请降,朝中大臣皆认为应按照旧法,尽诛降军,程昱却说:“以前之所以要诛杀投降者,是因为当时局势动荡,天下大乱,攻打贼人时采取‘围而后降者不赦’的方针,目的在于向其它乱党显示不尽早投降的后果,让所有敌人都感到惧怕,未围先降,那以后用兵便不需要动辄围城。如今天下形势大致已经安定,而且今次的战事是发生在领土之内,这些都是不成气候的贼众,杀了他们也没有可以示威示惧的地方,失去了以往诛降的策略意义。因此我认为这些降兵不可诛杀;即使要诛杀他们,也要先询问曹公的意见