于是,呂布引軍屯南十余里,第二天,呂布再次前來挑戰,曹操把自己的一半士兵埋伏在堤后,另一半的士兵暴露在堤外布下陣勢。
呂布的軍隊逼近時,曹操才命輕裝部隊挑戰,等到兩軍廝殺在一起以后,伏兵才登上大堤殺出,步兵與騎兵一齊沖鋒,大破呂布的軍隊,直追到呂布的營寨才返回。
呂布當夜撤退,曹操將兗州各城全部收復,呂布東逃投奔劉備,張邈到袁術那裏求救,留下張超帶著家眷部屬駐守雍丘。
曹操包圍張超,圍了幾個月,殺了張超和張氏三族,張邈未到壽春,就被他的士卒殺害。
興平二年,呂布見到劉備后,對其非常尊敬,對劉備說:
“我和閣下都是北疆邊境的人,我當時見關東軍起兵,想要誅殺董卓。
但我殺了董卓東出,關東諸將卻沒有一個接納我,都想要殺了我。”
并請劉備坐在帳中的床上,令妻妾向劉備行禮,酌酒飲食,稱劉備為賢弟。
劉備見呂布語言無常,表面以為然之,但心里卻不開心,袁術率軍攻打徐州,與劉備相持于盱眙、淮陰。
相持一個月,雙方互有勝敗,袁術寫信給呂布,許諾送上二十萬斛大米,誘使其襲擊下邳,于是呂布水陸東下,軍隊抵達下邳西四十里時,劉備的中郎將丹楊人許耽派司馬章誑前來迎接呂布,并向呂布透露了張飛和曹豹相爭。
下邳城內大亂,丹陽兵都在西白門城內等待呂布的到來,于是呂布便大舉進軍,早晨到達城下。
天亮后,丹陽兵打開城門,呂布坐在城門上,指揮軍隊大破張飛,俘虜劉備的妻妾兒女及其部曲的家眷。
此時,劉備為袁術所敗逃往海西,饑餓疲憊,向呂布請求投降,呂布又惱火袁術不再運糧來,就準備了車馬迎接劉備,讓劉備擔任豫州刺史,派他駐守小沛,呂布自稱為徐州牧。
同年七月,因李傕、郭汜的火拼,漢獻帝從長安東歸,途徑河東,下詔書令呂布迎駕。
由于呂布的軍隊沒有儲備足夠的糧食,無法勤王,于是呂布派遣使者上書謝罪,朝廷任命呂布為平東將軍,封平陶侯。
建安元年,袁術派大將紀靈帶領步騎共三萬多人馬征討劉備,劉備向呂布求援,呂布手下將領說:
“將軍您一直想除掉劉備,如今可借袁術的手除掉他。”
呂布說:
“并非如此,袁術如果占據了小沛,就會聯合北面泰山一帶的部隊,我們就會被袁術所包圍,我不能不去救劉備啊。”
于是領步兵千人、騎兵二百,飛速趕往小沛,紀靈等人聽說呂布前來援救劉備,只好收兵,不敢輕舉妄動。
呂布在離小沛西南一里的地方扎下營寨,派衛士去請紀靈等將領,紀靈等人也請呂布一起飲酒,呂布對紀靈等人說:
“玄德,是我呂布的賢弟,如今他被諸位所圍,我特意趕來救他,我呂布生性不愛看別人互相爭斗,只喜歡替別人解除紛爭。”