程昱当时之所以拒绝为刘岱效力,就是因为程昱相信自己的眼光,知道刘岱虽然是汉室宗亲,但是在如今这个混乱的时代,汉室宗亲的影响力大不如前,而且刘岱还是一个遇事不决,瞻前顾后的人,实在不是一个合适的主公,所以程昱选择了返回家乡,继续等待机会。
过了不久,刘岱就为黄巾军所杀,这时的曹操便趁机出发兵临兖州,在得知了程昱的消息之后,便辟召了程昱,而这一次的程昱却是毫不犹豫的一口答应了,因此在程昱将行之时,程昱的乡人十分疑惑,开口询问程昱道:“怎么你前后的行为相背如此?!”,而程昱却只是笑而不应,不过很明显的是,程昱十分看好曹操在这乱世之中的表现。
而程昱初至之时,曹操便跟他谈论大事,而且讨论的十分高兴,便以程昱为寿张令,而且在曹操征讨徐州的时候,也是下令让程昱与荀彧共同留守鄄城,由此可见曹操对当时的程昱与荀彧都是一样看重的。
还是那时张邈等部发动叛乱,迎接吕布进入了兖州,四周郡县云起响应,唯有鄄城、范县、东阿三地没有动摇。
之后不久,便有一个吕布军的降兵,向荀彧与程昱报告,陈宫想要带兵取东阿,又派泛嶷取范县,当时的吏民听到这个消息之后,都是十分恐惧的。
而当时的荀彧就告诉程昱道:“如今兖州作反,唯有此三城得以保全。陈宫等人以重兵临城,如果不能同心结力,三城必定不保,而您是吏民之望,如今回去向他们游说,一定可以成功!”
简单的来说,程昱当时在兖州的名气已经是无人能出其右,所以荀彧才会希望程昱能够出面安抚民心,保证在吕布军攻打这三座县城的时候,不会不战自败。
程昱于是先行返回了东阿,当时吕布军的泛嶷已在范县,这泛嶷是当时吕布手下的一名都伯,对于当时的吕布军而言,都伯已经算是吕布军中的高层官员了,也是吕布军派来说降范县的使者,可谓是吕布的脸面,结果范县的县令靳允在经过程昱的鼓励之后,便伏兵刺杀泛嶷,到了这会儿,范县就不可能再投降吕布了。
然后程昱又派遣了一支部队占住了仓亭津,陈宫手下的军队一时之间便不能渡河,这大大拖延了吕布军的行军速度,而当程昱来到东阿时,东阿令枣祗已经率吏民拒城坚守,又有兖州从事薛悌与程昱协谋,于是程昱便留守东阿,终于守住三城,以待曹操返回,而当曹操归还兖州,就曾经执程昱之手道:“若非程卿之力,吾无所归矣。”,之后曹操更是上表程昱为东平相,屯于范县。
而且就在这时,曹操得知了程昱所做的怪梦,于是便将程昱的名字,由“程立”改成了“程昱”。
到了兴平元年(也就是公元194年),曹操与吕布在濮阳进行交战,结果数度失利,不过因为当时的兖州全境又发生了蝗祸,曹操与吕布两边的部队都缺乏粮草,于是双方便默契的引兵暂去。
这时,袁绍也派人来游说曹操连和,希望曹操能迁居于邺城,当时曹操眼见自己的兖州失去了大半,军粮又将用尽,于是在计议之下正想答应袁绍的要求。
程昱觉得袁绍肯定在算计着什么,于是向曹操进言道:“在下窃闻将军想遣居迁邺城,与袁绍连和,请问有这样的事吗?”
曹操也是一个耿直人,而且曹操也非常信任程昱,便直接说道:“是的。”
于是程昱立马劝谏道:“在下认为将军您只是一时之间临事而惧,否则又怎么会如此不深思熟虑?袁绍如今已经据有燕、赵之地,怀并吞天下之心,可是其智不能济其事,加之胸怀狭隘,将军自以为能在袁绍手底下做事吗?将军您可是有龙虎之威,可以做韩(这里指的是韩信)、彭(这里指的是彭越)他们这样臣服于他人的事吗?如今兖州虽残,尚有三城可守,能战之士,不下万人。以将军的神武,加上我和文若(也就是荀彧,由此可见程昱当时就认为荀彧能和自己相提并论)等人的协助,并收城池原本的士兵而加以运用,那么霸王之业也是可以成就了。希望将军能慎重考虑一下!”
于是乎,在程昱的劝解之下,曹操才放弃连和袁绍的想法。
而在之后,曹操挟天子以令诸侯,汉献帝在定都许县之后,便以程昱为尚书,当时的兖州尚未绥抚停当,于是又以程昱为东中郎将,领济阴太守,都督兖州之事。
到了建安三年(也就是公元198年),刘备本来就在徐州立足不稳,并没有真的接手陶谦留下来的兵马,然后就因为相信了吕布而失去徐州,只得前来归附曹操,这时的郭嘉和程昱都在劝曹操杀了刘备,结果自信的曹操不听。
到了建安四年(也就是公元199年),曹操便派遣刘备到徐州去截击袁术,程昱与郭嘉再次向曹操建议道:“明公前日没有除掉刘备,如今更是向刘备借兵,刘备他必定会有异心的。”
结果刘备也知道曹操手下本来是龙潭虎穴,加上刘备也明白程昱等人想要杀死自己,所以刘备在得到了曹操的兵马之后,很快就急行军的离开了,于是曹操十分后悔,但已经是追之不及,果然,在袁术病死后,刘备就来到了徐州,杀死了当时曹操所任命的徐州刺史车胄,举兵反叛了曹操。
然后在第二年的建安五年,程昱又迁升振威将军,当时袁绍在黎阳准备带兵南渡攻打兖州,而程昱当时却只有七百