汉献帝定都许县后,以程昱为尚书。当时兖州尚未绥抚伏贴,因而又以程昱为东中郎将,领济阴太守,都督兖州事。
程昱又遣别骑占住仓亭津,陈宫军不能得渡。程昱至东阿时,东阿令枣祗已经率吏民拒城死守。又有兖州处置薛悌与程昱协谋,终究守住三城,以待曹操。曹操偿还,执程昱之手道:“若非程卿之力,吾无所归矣。”因而表程昱为东平相,屯于范县。
曹操没有军粮的时候拿人肉给曹操供应军粮,是个狠角色。
建安四年(199年),曹操调派刘备至徐州截击袁术,程昱与郭嘉向曹操道:“明公前日不撤除刘备,现在更向他借兵,他必然会有异心的。”曹操悔怨,但已追之不及。公然,袁术病身后,刘备去到徐州,杀车胄,举兵背反曹操。
建安八年(203年),程昱纠合一伙山间公众及逃亡之徒,得精兵数千人,因而引军与曹操会师黎阳,讨伐袁谭、袁尚。曹操使李典与程昱等以船运军粮。会和魏郡太守高蕃将兵屯河上,断绝水道,曹操对李典、程昱说:“若船不得过,下从陆道。”李典与诸将议曰:“蕃军少甲而恃水,有懒惰之心,击之必克。”程昱亦觉得然。遂北渡河破高蕃,水道得通。二袁破走后,程昱拜为奋武将军,封安国亭侯。
曹操征徐州时,程昱与荀彧留守火线,阻吕布、陈宫雄师,保住三城,因功受封
程昱这个谋不及郭嘉,治国不如荀彧,军事才气不如荀攸,是个千里之才,做个太守还是能够的,不过程昱虔诚于曹魏,胆量大。