當時郭嘉、程昱剛剛考察完錢糧回來,聽說曹操已經派劉備進軍徐州,慌忙進諫說:“丞相為什麼要讓劉備督軍呢?”曹操說:“為了截擊袁術。”程昱說:“以前劉備做豫州牧的時候,我們請求殺了他,丞相沒有聽從。今天又給他軍隊,這就像放龍入海、縱虎歸山一樣。以後再想對付他,怎麼可能呢?”郭嘉說:“丞相即使不殺劉備,也不應該讓他離開。古人說:‘一日縱敵,萬世之患。’請丞相明察。”曹操認為他們說得有道理,就命令許褚帶領五百名士兵前去追趕劉備回來。
許褚答應了並立即出發。然而劉備正在行軍途中看到後面塵土飛揚就對關羽和張飛說:“這一定是曹兵追來了。”於是他們下馬安營紮寨讓關羽和張飛各自拿著武器站在兩邊。許褚到了之後看到劉備的軍隊嚴陣以待就下馬進入營寨見劉備。劉備問:“你來這裡幹什麼?”許褚回答說:“我奉丞相之命特地來請將軍回去另有商議。”劉備說:“‘將在外君命有所不受’。我已經面見過皇上又得到了丞相的囑託。現在沒有其他事情你可以回去了替我稟告丞相。”許褚心想:“丞相一向和他交好這次又沒有讓我來廝殺我只得把他的話帶回去另等裁決。”於是他就辭別了劉備領兵而回。
回到曹操那裡許褚詳細述說了劉備的話。曹操猶豫不決程昱、郭嘉說:“劉備不肯回兵可見他心意已變。”曹操說:“我有朱靈、路昭二人在他那裡料想劉備未必敢變心。況且我已經派遣了他怎麼可以反悔呢?”於是不再追趕劉備。後人有詩讚嘆劉備說:“束兵秣馬去匆匆心念天言衣帶中。撞破鐵籠逃虎豹頓開金鎖走蛟龍。”
馬騰見劉備已經離去邊境又告急也回到西涼州去了。劉備帶兵到了徐州刺史車胄出來迎接。在公宴結束後孫乾、糜竺等人都來參見劉備。劉備回家探望老小同時派人去打探袁術的訊息。探子回報說:“袁術奢侈過度雷薄、陳蘭都投奔嵩山去了。袁術的勢力已經衰落他寫信把帝號讓給了袁紹。袁紹派人去召見袁術袁術於是收拾人馬和宮禁御用之物先到徐州來。”
劉備知道袁術即將到來,於是率領關羽、張飛、朱靈、路昭五萬大軍出城迎戰。正好遇上袁術的先鋒紀靈。張飛二話不說,直接衝向紀靈。兩人交戰不到十個回合,張飛大喝一聲,將紀靈刺於馬下,袁術的敗軍紛紛逃走。袁術親自率軍前來交戰。
劉備分兵三路:朱靈、路昭在左,關羽、張飛在右,自己親自率領中軍。與袁術相見後,劉備在陣前大罵袁術反逆不道,並奉皇帝詔令前來討伐。他要求袁術束手就擒,以免受更嚴厲的懲罰。袁術回罵劉備是織蓆編鞋的小輩,怎敢輕視他!於是指揮軍隊衝殺過來。
劉備暫時撤退,讓左右兩路軍隊殺出。這一戰殺得袁術軍屍橫遍野、血流成河,士兵逃亡不計其數。袁術的軍糧草料又被嵩山的雷薄、陳蘭劫走。他想返回壽春,但又被群盜襲擊,只得停留在江亭。此時他身邊只剩下一千多名老弱殘兵。
當時正值盛夏酷暑,糧食斷絕,只剩下三十斛麥子供軍士分配。由於家人沒有食物,許多人餓死。袁術嫌飯粗糙難以下嚥,於是命令廚師取蜜水止渴。但廚師回答說:“只有血水,哪有蜜水!”袁術聽後坐在床上大叫一聲,吐血而死。這是建安四年六月的事情。
袁術死後,他的侄子袁胤帶著靈柩和家屬逃往廬江,但被徐璆全部殺死。徐璆奪得袁術的傳國玉璽後前往許都獻給曹操。曹操非常高興並封徐璆為高陵太守。至此玉璽歸曹操所有。
劉備得知袁術已死的訊息後上表奏報朝廷並寫信告知曹操讓朱靈、路昭返回許都留下軍隊保衛徐州。他自己則親自出城招撫流散的百姓恢復生產。
朱靈、路昭回到許都向曹操覆命說劉備留下了軍隊。曹操大怒想要斬首二人但荀彧為他們求情說權力已經歸劉備所有二人也無能為力。於是曹操赦免了他們。荀彧又建議曹操寫信給車胄密謀對付劉備。曹操採納了他的建議暗中派人去見車胄傳達密令。
車胄隨即請陳登商議此事。陳登提出可以在劉備回城時設伏擊殺他的建議並表示自己可以在城上射住劉備的後軍以確保成功。車胄同意了這個計劃。
然而陳登回去後卻將此事告訴了他的父親陳珪。陳珪命令陳登先去通知劉備。陳登於是快馬加鞭趕去報信正好遇上關羽和張飛將情況告訴了他們。原來關羽和張飛已經先回到徐州而劉備還在城外。
張飛聽說要廝殺便想要立即行動但關羽制止了他並提出了一個計策:趁夜假扮成曹軍到徐州引車胄出城迎接然後趁機殺了他。張飛同意了這個計劃。
當夜