董卓死後兩個月,其舊部屬李傕和郭汜等本想解散部隊,歸隱田野,途中遇賈詡獻計,召集舊部,攻入京城。
呂布守城八日,因城內叟兵叛變,呂布戰敗,於是率兵百餘騎兵,帶著董卓的首級殺出武關。
在此期間,呂布曾在城北與郭汜單挑決勝負,呂布以矛刺中郭汜,郭汜被左右軍隊所救,雙方遂各自罷兵。
呂布先投靠袁術,但因袁術不滿他自恃有功而十分驕恣、恣兵抄掠,所以被拒絕,於是呂布改投袁紹。
在袁紹處,與其聯手在常山會戰張燕,黑山軍有一萬多精兵、幾千騎兵。
呂布經常騎著能夠騰躍城牆、飛跨壕溝、名叫赤兔的良馬,與關係較為親近的麾下猛將成廉、魏越等幾十個人騎馬衝擊張燕的軍陣,有時一天去三四次,每次都砍了黑山軍的首級回來。
連續作戰十多天,終於打敗了張燕的軍隊,呂布仗恃自己的戰功,再次向袁紹要求增加軍隊,袁紹不答應,而呂布手下的將士也時時搶劫、掠奪,袁紹開始疑恨他。
呂布感覺不安,就請求回洛陽,袁紹同意他的要求,以天子名義任命呂布領司隸校尉,派甲士送呂布而暗中要除掉他。
呂布懷疑袁紹打自己的主意,就派人在營帳中彈著箏,自己悄悄逃了出去。
半夜那些甲士出動,亂刀砍呂布的床,認為他已經死了,第二天袁紹卻得到呂布還活著的訊息,於是下令關閉城門,呂布得以逃到河內,與張楊聯合。
袁紹擔心呂布對自己不利,再次派兵追殺呂布,那些士兵都害怕他,追上了也沒有一人敢逼近。
途中經過陳留,太守張邈派人迎接呂布,對他大加款待,臨分手時兩人握住對方手臂發誓結好。
興平元年,曹操向東攻打陶謙,派將領武陽人陳宮駐守東郡,陳宮趁機勸說張邈:
"現在天下分裂,英雄豪傑同時嵋起,您擁有十萬人的隊伍,處在可以四面作戰的地方,按劍雄視天下,是可以做人中豪傑,反而被人控制,不是太卑下了嗎?
現在本州的軍隊東征,其地空虛,呂布是猛士,善於作戰,英勇無敵,將他接來一同佔據兗州,觀望天下形勢,等候時事的變化好轉,這可以縱橫一世。"
張邈聽從陳宮的意見,就同弟弟張超和陳宮等人迎接呂布,請他當兗州牧,佔據濮陽,兗州所屬郡縣一同響應。
曹操知道後率領軍隊攻打呂布,兩軍對陣,呂布出戰,先派騎兵衝散青州兵,**陣勢大亂,曹操策馬冒火突圍,燒傷了左掌。此後雙方多次交戰,相持一百多天。
這時發生天旱,又有蝗蟲為害,糧食不夠,出現了***,呂布將部隊移到山陽駐紮。
興平二年,呂布再次從東緡出發,與陳宮率領一萬餘人來進攻曹操。
當時,曹操部下計程車兵全都出去收割麥子了,在營中的不到一千人,難以守住營寨。
曹操乃令婦人們在營壘裡唱歌跳舞,營中不足一千計程車兵們全都在營壘邊擺出了無所畏懼的樣子。
曹操營寨的西邊有一條大堤,南邊有一片茂密深廣的樹林,呂布懷疑曹操有伏兵,於是說:
"曹操多詭詐,我們不要進入伏擊圈。"