由於士卒成倍增加,軍中大小事務逐漸繁瑣起來,張郃提拔起來的將領固然勇悍,但是不擅管理。得到張郃的報告,台駘令沮授、田豐二人為督導,常駐軍營,製定相關條例,明確賞罰,使士兵嚴格遵循。如此一來,軍隊增長速度雖快,卻是有條不紊,井然有序。
鄴縣新城也建設完畢,台駘令黃就兼為鄴都令,在董昭、程昱政策支持下,十幾萬戶居民安居樂業。黃就的三地屯田取得有效進展,因為他一人之力有限,提拔出了不少得力幹將。青州一部果然如張寶預料般,凶性漸消,但看到屬下各部安心生產,生活得到極大改善,張寶幾人也無話可說。
曹操聞之陶謙已死,劉備得了徐州,大怒道:“我大仇未報,這小子不費半箭之功,坐得徐州,真是令人可恨!我必先殺劉備,後戮謙屍,以雪先君之怨!”隨即傳令下去,即日起兵,攻向徐州。
戲誌才勸道:“主公萬萬不可,此前大軍東征,呂布等人趁虛而入,隻因其眾全為騎兵,沒有攻城器械,所以得以保全三城,以為基業。現在兗州還未收複一半,您對呂布的進攻眼看就要取得全麵的勝利,卻不想法一舉擊潰呂布,轉而又要起兵東征,倘若出了什麼岔子,咱們將無家可歸。”
曹操說道:“先生你說的不錯,我本來也是這麼想的,剛才隻是說說氣話罷了。”於是又喚回了傳令兵。
曹操斷然拒絕了袁紹以人質為條件的幫助,經過一番艱苦的準備,重整旗鼓,開始對呂布發起進攻。
195年春,緩過氣來的曹操親自進攻當時呂布駐軍山陽的鄰城定陶(今山東定陶),並派曹仁攻打句陽(今菏澤附近),以期達到孤立呂布的目的。呂布不願讓自己陷入到包圍圈中,於是率軍後退。
夏天,呂布決定反撲,派薛蘭,李封屯兵巨野,準備以此吸引曹操的主力,自己率領大軍隨時準備接應。但曹操的偵騎發現了呂布的部隊,久經沙場的曹操當即決定將計就計,於是派曹仁攻打巨野,給人以曹操本部攻擊巨野的錯覺。
呂布果然上當,率輕騎趕往巨野,準備合擊曹軍主力,結果在半路上遇到了曹操的伏兵,大敗而逃。曹操乘勢以全軍攻擊薛蘭、李封軍,薛、李軍被前後夾擊,戰事很快就演變成了一場屠殺,薛李全軍被殲,曹操對呂布首次取得了重大勝利。
這時候,敗退中的呂布與陳宮部會合,聚集到一萬多部隊。兩人一合計,決定打敵人一個措手不及,於是轉身又來戰曹操。曹操沒想到呂布回來的這麼快,之前已經讓各部隊分散出去收集糧草去了,駐紮在巨野的中軍隻有一千來人。
倉促間,戲誌才建議曹操道:“我聽說經商的人,越是缺錢的時候越裝作自己財大氣粗,這樣才能籌集到更多的資金;貧窮的人越是缺錢的時候越是不肯用錢,這樣錢財得不到流動以至於越來越窮,不知主公想采用什麼辦法退敵。”
曹操大笑,說道:“還是誌才了解我的心思啊!”於是把全部的一千人統統列陣於營外樹林旁,又令數十士兵在林中搓土揚灰,虛張聲勢。
陳宮觀察到曹操大營西邊有個大堤,南邊有大片的樹林,又見曹操的有恃無恐狀,料想對方肯定有伏兵,便就地紮營,著力於鞏固防禦陣地,不敢貿然進攻。
曹操當晚連夜調回了大量的部隊,全部埋伏到大堤下,作好了打敗呂布軍的準備。而陳宮得到報告,才知道曹操昨天的舉動不過是虛張聲勢而已,心裏很後悔,第二天一早便主動進攻。
呂布率領騎兵首當其衝的率領騎兵直接突擊堤上的曹軍中軍,結果曹軍伏兵大出,呂布軍首尾被截,大潰,於是和陳宮一起,準備返回濮陽。此前計誘曹操的濮陽大族田氏因不滿呂布驕縱部下搶掠拒絕呂布進城,於是呂布和陳宮再略一合計,別無去處,便投靠徐州的劉備去了。