程昱字仲德,東郡東阿縣人。他身高八尺三寸,鬍鬚異常俊美。
黃巾起兵時,東阿縣丞王度造反響應他們,燒燬了倉庫,縣令翻越城牆逃走了,官吏和百姓扶老攜幼向東逃向渠丘山,程昱派人監視王度,王度等人佔據空城卻不能防守,出城向西行進五六里駐紮下。
程昱對縣裡的大族薛房等人說:“現在王度等人佔據城郭卻不能駐守,他們的勢力已經可以知道了。他們不過是想要劫掠財物罷了,沒有憑藉精銳軍隊守城略地的志向。現在為什麼不一起回到城裡防守呢?況且城牆又高又厚,存糧很多,現在如果回去找到縣令,共同堅守,王度一定不能長久,一進攻就能打敗他們。”
薛房等人認為很有道理,但官吏和百姓不肯跟隨,都說:“賊寇在西邊,我們只能往東去了。”
程昱對薛房等人說:“愚蠢的民眾不能共謀大事。”於是他暗中派遣幾名騎兵在東山上豎起旗幟,讓薛房等人能夠望見,大喊道“賊寇已經來了”,於是下山來到城內,官吏和百姓奔走追隨,找到了縣令,於是共同守城。王度等人又來攻城,不能攻下,想要離去。程昱率領軍民開啟城門猛攻對方,王度等人敗退。東阿縣因此得以保全。
初平年間,兗州刺史劉岱召程昱做官,程昱沒有去,當時劉岱與袁紹、公孫瓚關係親睦,袁紹讓妻兒住在劉岱那裡,公孫瓚也派從事範方率領騎兵援助劉岱,後來袁紹和公孫瓚有了矛盾。
公孫瓚打敗袁紹的軍隊,於是派使者通知劉岱,讓他把袁紹的妻兒送來,還讓他和袁紹斷交。
公孫瓚又命令範方說:“如果劉岱不送來袁紹的家人,就率領騎兵回來。我打敗袁紹後,就會派兵攻打劉岱。”劉岱連續幾天拿不定主意。
別駕王彧稟報劉岱說:“程昱有計謀,能決斷大事。”劉岱於是召見程昱,詢問計策,程昱說:“如果放棄袁紹的近距離支援,而去尋求公孫瓚的遠距離幫助,這就像到百越之地找人救助在這裡溺水的孩子一樣。公孫瓚,不是袁紹的對手。現在他雖然打敗了袁紹的軍隊,但是終究會被袁紹擒獲。追逐一時的利益卻不從長遠考慮,將軍終究會失敗的。”劉岱聽從了他的話。範方率領他的騎兵回去了,還沒有到達,公孫瓚就被袁紹擊潰了。劉岱上表舉薦程昱為騎都尉,程昱稱病拒絕。
劉岱被黃巾軍殺死後曹操來到兗州,召程昱做官。程昱將要應召,他的同鄉問他:“為什麼前後的態度相反呢!”程昱笑而不答。
曹操和他談話,很高興,任命程昱代理壽張縣令。曹操征討徐州,派程昱和荀彧留守鄄城。張邈等人反叛曹操迎接呂布,郡縣紛紛響應,只有鄄城、範、東阿三縣沒有異動。
呂布軍中投降的人,說陳宮想要親自帶兵來攻取東阿,又派汜嶷攻取範縣,軍民都很害怕。
荀彧對程昱說:“現在兗州反叛,只有這三座城了。陳宮等人派重兵前來,如果不能安定人心,這三座城一定會動盪。您是民眾敬仰的人,回到東阿勸說他們,應該可以吧!”
程昱回去後經過範縣,勸說縣令靳允說:“聽說呂布逮捕了您的母親、弟弟、妻子、兒女,身為孝子真的不忍心!現在天下大亂,英雄並起,一定會有聞名於世的人,能夠平息天下的禍亂,這需要明智的人慎重抉擇。得到明主的昌盛,失掉明主的滅亡。陳宮反叛而迎接昌布,諸城都起來響應,看上去能夠有所作為,然而在您看來,呂布為人怎樣呢?呂布這人,性格粗獷而少有親近之心,內心剛強卻不講禮節,只是匹夫的勇猛罷了。陳官等人根據形勢和他暫時勾結在一起,不能成為呂布身邊的宰相之才。他們兵雖多,但一定不會成功。曹使君的智謀才略世間少有,大概是上天所賜吧!您一定要固守範縣,我防守東阿縣,這樣就能建立田單的功勳。這樣做與違背忠心屈從惡人並讓母子一同滅亡相比哪個更好呢?希望您仔細考慮!”
靳允聽後流著眼淚說:“我不敢懷有二心。”當時汜嶷已經來到範縣,靳允前去見他,設伏兵把他刺殺,回去安排軍隊守城。
程昱又另派騎兵斷絕倉亭津渡口,陳宮到了,不能渡河。程昱來到東阿,東阿縣令棗祗已經在帶領激勵軍民,堅守城池。同時兗州從事薛悌也和程昱合謀,終於保住了這三座城,等待曹操回來。
曹操回來後,握著程昱的手說:“如果沒有您出力,我就無處可歸了。”於是他上表舉薦程昱為東平國相國,駐紮在範縣。
曹操和呂布在濮陽交戰,屢戰不勝。當時蝗蟲肆虐,雙方各自領兵撤退。這時袁紹派人勸說曹操與他聯合,想要讓曹操把家搬到鄴城。
曹操剛剛丟掉兗州,軍糧吃完了,想要答應他,當時程昱正好出使返回,求見曹操,順勢說:“我私下裡聽說將軍將要把家人送出去,和袁紹聯合,真的有這件事嗎?”
曹操點點頭,程昱說:“大概將軍遇事恐懼了,不然為什麼考慮得如此不長遠呢!袁紹佔據燕趙之地,有吞併天下的野心,可是智謀卻不夠。將軍自認為能屈居他之下嗎?將軍憑藉龍虎的威勢,能做韓信、彭越的傻事嗎?現在兗州雖然殘破,但是還有三個縣。能征善戰的將士,不少於一萬人。憑藉將軍的神威英武,再加上文若和我這些人,收集人馬加以驅使,稱王稱霸的事業就能成功。希望將軍再考慮一下!”曹操思索後打消了與袁紹合作的念頭。