汉献帝兴平元年(194年)曹操倾巢而出 攻打徐州(州治郯县 今山东临沂郯城县)陈留(郡治陈留县 今河南开封祥符区)太守张邈与东郡(郡治濮阳 今河南濮阳县)名士陈宫背叛曹操 迎吕布入主兖州(州治鄄城 今山东菏泽鄄城县)遣使鄄城 对荀彧谎称:“吕将军来助曹使君攻打陶谦,应该赶快供给他军粮。”荀彧察觉张邈将要反叛 立即部署防御 马上派人告知东郡太守夏侯惇率军前来救援
夏侯惇率军赶往鄄城 吕布趁机进驻濮阳 并派人诈降挟持了夏侯惇 夏侯惇部将韩浩得知后率军包围营寨 声称不会顾及人质安危 准备发起进攻 挟持者大为恐慌 释放了夏侯惇 韩浩将诈降者尽数诛杀 此时兖州郡县大多反叛 仅剩范县 鄄城 东阿(今山东聊城阳谷县)三县还在曹军手里
夏侯惇到鄄城 当晚就诛杀了几十个密谋投降吕布的官员 稳定了鄄城局势
荀彧对程昱说:“如今全州都已反叛,只剩下三座城。如果我们不能紧密地团结民心,这三城必定会动摇。你在东阿百姓中声望很高,应当前去安抚。”
程昱前往东阿 途经范县 劝说范县县令靳允:“如今天下大乱,英雄纷纷崛起,其中必定会有一位主宰时代的人,跟对主人,才能兴旺。跟错主人,就会败亡。陈宫背叛曹使君,迎接吕布,而诸城全都响应,似乎能有所作为。然而据您观察,吕布是个什么样的人?吕布为人粗暴而很少与人亲近,又刚愎无礼,不过是个勇猛的匹夫而已。陈宫等人与他联合,只是互相利用,不会奉吕布为主,因此他们虽然兵多,但终究不会成事。曹使君谋略盖世,您一定要坚守范县,我来守住东阿,就可以立下田单恢复齐国那样的大功。请您好好考虑!”靳允流着泪说:“我不敢有二心。”程昱又派了一支骑兵截断了黄河边的沧亭津渡口 使陈宫无法渡河 最后到东阿与县令枣祗一同坚守
曹操归来后 拉着程昱的手说:“如果不是你尽力,我就无家可归了。”
吕布进攻鄄城不克 退回濮阳 曹操说:“吕布一下得到一州的地盘,却不能占据东平,切断亢父、泰山的要道,利用险要的地势来对抗我,反而回驻濮阳,我知道他没有多大作为。”于是进攻吕布
曹操夜袭吕布屯于濮阳西的部队 吕布亲自率军冲杀 从日出战到日落 才各自退兵
濮阳大姓田氏假意作曹操内应 曹操进入城内 与吕布大战 曹军大败 吕布骑兵抓住曹操 却不认识 问:曹操何在?”曹操指着另一个骑马逃走的人说:“骑黄马逃走的那个就是曹操。”吕布骑兵就放开曹操去追骑黄马的人 之后吕布与曹操在濮阳相持一百多天 发生蝗灾 双方粮食耗尽 曹操退回鄄城 吕布前往乘氏县(今山东菏泽巨野县龙堌镇)征粮 被当地豪族李进击败 退往山阳(郡治昌邑 今山东菏泽巨野县大谢集镇)
这时袁绍派人劝说曹操举家迁往邺城(今河北邯郸临漳县)想让曹操去依附他 曹操失去兖州 内心底气不足 也有投靠袁绍的想法 程昱劝阻说:“兖州虽然残破,但还有三座城池,能上阵作战的士兵不下万人。凭借将军您的英明勇武,再加上文若、昱等人辅佐,霸王的大业是可以成就的。希望将军重新考虑这件事。”曹操才放弃投奔袁绍的想法
次年曹操大败吕布于定陶(今山东菏泽定陶区)进攻巨野(今山东菏泽巨野县田庄镇)斩杀吕布部将薛兰 李封 收复巨野 进驻乘氏 吕布与陈宫再次率领万余人来攻 曹军士兵大多出去收割麦子 在营中的不到千人 曹操让妇女们守在营垒边 吕布在远处看 分不清男女 并让仅有的几百名士兵集中在营外列阵 曹军营寨西边有大堤 堤南有茂密的树丛 吕布怀疑曹操埋伏 于是引军往南十里屯扎
当夜曹操让收麦的士兵回来 把一半部队埋伏在大堤后面 一半部队列阵营前 次日吕布派先头部队试探进攻 待两军交战 还没有出现伏兵 吕布才让后续部队大军压上 打算一举歼灭曹操 这时大堤后曹军伏兵杀出 大败吕布 吕布逃遁 曹操趁势收复定陶 吕布逃往徐州投奔刘备 兖州大局已定 朝廷正式下诏拜曹操为兖州牧 之后数月曹操又攻克雍丘(今河南开封杞县)夷张邈三族 张邈在去向袁术求救兵的路上 被部下杀害 兖州各郡县归降曹操 兖州之乱结束
兖州之乱是曹操创业路上关乎整个势力存亡的最大危机 曹操倾主力征伐徐州 后方却遭张邈 陈宫背叛 全州几乎尽数倒向吕布 曹操仅剩三座小城 甚至萌生依附袁绍的念头 幸赖荀彧 程昱 夏侯惇等人同心固守三城 稳住最后的根基 曹操回师后 凭借出色的战场谋略和上下一心 先后在定陶 巨野 乘氏 数次挫败吕布 逐步扭转颓势 最终攻克雍丘 肃清张邈 张超势力 彻底平定兖州
这场叛乱为曹操留下了深刻教训 张邈 陈宫等交好之人 亦可能反叛 远征必先稳固后方 而不倾巢而出 地方豪强 士族的力量不可忽视 愿意合作的士族 加以任用 换取他们在地方上的支持 内心不满 但没有起兵作乱的士族 改用制衡 限制手段 不再轻易下杀手 只有举兵叛乱的核心骨干 才予以诛灭