初平三年(192)刘岱被黄巾军击杀。曹操入兖州,召辟程昱,程昱欣然应命。临行,同乡友人不解,问他:“前拒后从,如此不同,何也?”程昱笑而不答。曹操见到他,交谈后大喜,授以寿张(今山东东平)令一职。
曹操东征徐州时,程昱、荀彧等留守鄄城(今山东鄄城)。当时,张邈、陈宫等反叛曹操而迎吕布入主兖州。兖州郡县纷纷响应,只有鄄城、东阿、范(今河南范县)三县未动。为了夺取兖州全境,陈宫领兵去取东阿,同时派汜嶷取范城。荀彧得知消息,慌忙对程昱说:“今叛乱遍及兖州,只有这三城在我们手中。若陈宫重兵围城,三城军心浮动,将被攻破。君,民之望也,去东阿和范县鼓动人心,大概可以稳定军心。”局势十分危急,荀彧要借重程昱在东阿一带的威望,遏止叛乱继续蔓延,稳住三县阵脚。
程昱到了范城,见到县令靳允,向他晓以守降的利害。程昱说:“方今天下大乱,英雄并起,然而必定会有命世之才,来平息混乱。”自古至今,得主者昌,失主者亡。他希望靳允认清形势,选择良主而依。谁是良主呢?程昱指出:吕布“粗而少亲,刚而无礼,匹夫之雄也”;陈宫等人,更不足为伍。他们目前兵将虽众,终将失败,无所成就。而曹操“智略不世出,殆天所授!君必固范,我守东阿,则田单之功可立也”。如追随叛乱,违忠从恶,将家破人亡。何去何从,“愿君详虑之”!靳允听后,流涕曰:“不敢有二心。”于是,杀掉来劝降的汜嶷,坚守城池。
程昱又到东阿,东阿令枣祗正率领吏民据城坚守。程昱就与兖州从事薛悌同心协力,多方谋划,保全了三城。兖州是曹操在军阀混战中拼力厮杀夺来的一块立足之地,倘若兖州全部丧失,他将无地依存,流离失所。所以,当曹操从徐州归来,得知还保全了三城,便拉着程昱的手,感叹道:“不借助程公之力,我将没有地方可以去了!”于是,表程昱为东平(治所在今山东济宁南阳湖东岸)相,住在范县。
程昱小时,常常梦见自己登上泰山,双手捧着东升的红日。他很惊异,曾把此事告诉荀彧。当兖州叛乱,他全力保住了三城后,荀彧就把他双手捧日的梦告诉了曹操。曹操听后,明白程昱辅佐自己就如同双手捧日,高兴地说:“卿当终为吾腹心。”程昱原名立,曹操就在“立”字上加一个“日”字,更名为昱。从此,程昱就成了他的正式名字。
曹操失去兖州大部,仅居三个小县,兵少粮缺,陷于困境。袁绍想趁机并吞他,就以“连和”为名,要曹操“迁家于邺”,受制于他。曹操进退维谷,便答应了袁绍的要求。程昱听说后大惊,他没想到曹操遇到困境就产生惧怕,竟然做出如此缺乏远见的决定,便去见曹操。他先问曹操:“齐国的后裔田横,据千里之地,拥百万之众,曾南面称孤。后来汉高祖得天下,若他愿为降虏,你以为怎样?”曹操回答说:“此诚大丈夫之至辱。”程昱因此借题发挥道:“我愚昧,不识大旨。但我以为将军之志,不如田横。田横,齐国的一位壮士,犹羞为高祖之臣,守节而死。今闻将军欲遣家往邺,将北面而事袁绍。夫以将军之聪明神武,而反羞为袁绍之下,窃为将军耻之!”一席话,说得曹操面红耳赤,哑口无言。接着,程昱指出,袁绍占据燕、赵之地,早有兼并天下的野心,只是智力不逮,难以成功。他问曹操:“将军自己揣度,能够在他之下吗?”最后,程昱说:“今兖州虽然残破,尚有三城在手,能征惯战的将士,也有上万。以将军之神武,加上荀彧、我等谋士,再招贤征兵,是可以成就王霸之业的。愿将军重新考虑做出的决定!”曹操这才如梦初醒,于是放弃了投奔袁绍的所谓连和,重新振作,开拓基业。