呂布因其勇武在並州任職,並州刺史丁原擔任騎都尉,在河內駐扎,任命呂布為主簿,對他很親近。漢靈帝死後,丁原接到何進的徵召,率領軍隊到洛陽,密謀誅殺宦官,被任命為執金吾。適逢何進為宦官所殺,董卓入京,誘呂布殺丁原,進而吞並丁原的軍隊,並任命呂布為騎都尉,同他發誓結為父子,對他十分欣賞信任。呂布善長騎射,膂力過人,被稱為「飛將」,不久又被董卓提拔為中郎將,封都亭侯。
關東軍起兵討董時,呂布亦曾參戰,卻因與將領胡軫不和而被孫堅所敗,最後董卓挾漢獻帝遷都長安。董卓自知自己凶暴,為人所惡,所以時常要呂布作自己的侍衛及守中閣;不過,董卓性格又十分猜疑,曾因小許失意而向呂布擲出手戟,又呂布與董卓的婢女有染,恐怕事情被董卓發覺,所以心中十分不安。之前,由于王允因為呂布是並州的壯士,對他以厚禮相待。自從呂布懷恨董卓後,他去見了王允,述說了董卓差點殺他的經過。王允此時正和士孫瑞、楊瓚等密謀除掉董卓,因此便讓呂布作內應。呂布有些猶豫,說︰「奈何是父子,怎麼好下手呢?」王允說︰「將軍姓呂,本來就非親生骨肉,如今你保全自己的性命還來不及,還說什麼父子!」于是呂布答應了王允,成功刺殺董卓,任職奮武將軍,假節,儀比三司,進封溫侯,與王允同掌朝政。
折疊投靠各方
呂布與貂蟬董卓死後兩個月,其舊部屬李傕和郭汜等本想解散部隊,歸隱田野,途中遇賈詡獻計,召集舊部,攻入京城,呂布守城八日,因城內叟兵叛變,呂布戰敗,于是率兵百余騎兵,帶著董卓的首級殺出武關。在此期間,呂布曾在城北與郭汜單挑決勝負,呂布以矛刺中郭汜,郭汜被左右軍隊所救,雙方遂各自罷兵。
呂布先投靠袁術,但因袁術不滿他自恃有功而十分驕恣、恣兵抄掠,所以被拒絕,于是呂布改投袁紹。在袁紹處,與其聯手在常山會戰張燕,黑山軍有一萬多精兵、幾千騎兵。呂布經常騎著能夠騰躍城牆、飛跨壕溝、名叫赤兔的良馬,與手下猛將成廉、魏越等幾十個人騎馬沖擊張燕的軍陣,有時一天去三四次,每次都砍了黑山軍的首級回來。連續作戰十多天,終于打敗了張燕的軍隊。呂布仗恃自己的戰功,再次向袁紹要求增加軍隊,袁紹不答應,而呂布手下的將士也時時搶劫、掠奪,袁紹開始疑恨他。呂布感覺不安,就請求回洛陽。袁紹同意他的要求,以天子名義任命呂布領司隸校尉,派甲士送呂布而暗中要除掉他。呂布懷疑袁紹打自己的主意,就派人在營帳中彈著箏,自己悄悄逃了出去。半夜那些甲士出動,亂刀砍呂布的床,認為他已經死了,第二天袁紹卻得到呂布還活著的消息,于是下令關閉城門,呂布得以逃到河內,與張楊聯合。袁紹擔心呂布對自己不利,再次派兵追殺呂布,那些士兵都害怕他,追上了也沒有一人敢逼近。途中經過陳留,太守張邈派人迎接呂布,對他大加款待,臨分手時兩人握住對方手臂發誓結好。
折疊爭奪兗州
三英戰呂布興平元年(194年),曹操向東攻打陶謙,派將領武陽人陳宮駐守東郡。陳宮趁機勸說張邈︰「現在天下分裂,英雄豪杰同時嵋起,您擁有十萬人的隊伍,處在可以四面作戰的地方,按劍雄視天下,是可以做人中豪杰,反而被人控制,不是太卑下了嗎?現在本州的軍隊東征,其地空虛,呂布是猛士,善于作戰,英勇無敵,將他接來一同佔據兗州,觀望天下形勢,等候時事的變化好轉,這可以縱橫一世。」
張邈听從陳宮的意見,就同弟弟張超和陳宮等人迎接呂布,請他當兗州牧,佔據濮陽,兗州所屬郡縣一同響應。曹操知道後率領軍隊攻打呂布,兩軍對陣,呂布出戰,先派騎兵沖散青州兵,曹軍陣勢大亂,曹操策馬冒火突圍,燒傷了左掌。此後雙方多次交戰,相持一百多天。這時發生天旱,又有蝗蟲為害,糧食不夠,出現了人吃人。呂布將部隊移到山陽駐扎。
興平二年(195年),曹操將兗州各城全部收復,在鉅野擊敗呂布,呂布東逃投奔劉備。張邈到袁術那裏求救,留下張超帶著家眷部屬駐守雍丘。曹操包圍張超,圍了幾個月,殺了張超和張氏三族。張邈未到壽春,就被他的士卒殺害。呂布見到劉備後,對其非常尊敬,對劉備說︰「我和閣下都是北疆邊境的人。我當時見關東軍起兵,想要誅殺董卓。但我殺了董卓東出,關東諸將卻沒有一個接納我,都想要殺了我。」並請劉備坐在帳中的床上,令妻妾向劉備行禮,酌酒飲食,稱劉備為賢弟。劉備見呂布語言無常,表面以為然之,但心里卻不開心。
折疊雄踞徐州
興平二年(195年),袁術率軍攻打徐州,與劉備相持于盱眙、淮陰。相持一個月,雙方互有勝敗。袁術寫信給呂布,許諾送上二十萬斛大米,誘使其襲擊下邳,于是呂布水陸東下,軍隊抵達下邳西四十里時,劉備的中郎將丹楊人許耽派司馬章誑前來迎接呂布,並向呂布透露了張飛和曹豹相爭,下邳城內大亂,丹陽兵都在西白門城內等待呂布的到來,于是呂布便大舉進軍,早晨到達城下。天亮後,丹陽兵打開城門,呂布坐在城門上,指揮軍隊大破張飛,俘虜劉備的妻妾兒女及其部曲的家眷。
此時,劉備為袁術所敗逃往海西,饑餓疲憊,向呂布請求投降。呂布又惱火袁術不再運糧來,就準備了車馬迎接劉備,讓劉備擔任豫州刺史,派他駐守小沛。呂布自稱為徐州牧。
同年七月,因李傕、郭汜的火拼,漢獻帝從長安東歸,途徑河東,下詔書令呂布迎駕。由于呂布的軍隊沒有儲備足夠的糧食,無法勤王,于是呂布派遣使者上書謝罪。朝廷任命呂布為平東將軍,封平陶侯