適逢何進為宦官所殺。董卓入京,掌握了朝中大權,誘呂布殺丁原,進而吞并丁原的軍隊,并任命呂布為騎都尉,同他發誓結為父子,對他十分欣賞信任。呂布善于騎射,膂力過人,被稱為“飛將”,不久又被董卓提拔為中郎將,封都亭侯。
關東軍起兵討董時,呂布亦曾參戰,卻因與將領胡軫不和而被孫堅所敗,最后董卓挾漢獻帝遷都長安。董卓自知自己兇暴,為人所惡,所以時常要呂布作自己的侍衛及守中閣;不過,董卓性格又十分猜疑,曾因少許失意而向呂布擲出手戟,由于呂布又與董卓的婢女有染,恐怕事情被董卓發覺,所以心中十分不安。
之前,由于王允因為呂布是并州的壯士,對他以厚禮相待。自從呂布懷恨董卓后,他去見了王允,述說了董卓差點殺他的經過。王允此時正和士孫瑞、楊瓚等密謀除掉董卓,因此便讓呂布作內應。呂布有些猶豫,說:“奈何是父子,怎么好下手呢?”王允說:“將軍姓呂,本來就非親生骨肉,如今你保全自己的性命還來不及,還說什么父子!”于是呂布答應了王允,成功刺殺董卓,任職奮武將軍,假節,儀比三司,進封溫侯,與王允同掌朝政。
董卓死后兩個月,其舊部屬李傕和郭汜等本想解散部隊,歸隱田野,途中遇賈詡獻計,召集舊部,攻入京城,呂布守城八日,因城內叟兵叛變,呂布戰敗,于是率兵百余騎兵,帶著董卓的首級殺出武關。在此期間,呂布曾在城北與郭汜單挑決勝負,呂布以矛刺中郭汜,郭汜被左右軍隊所救,雙方遂各自罷兵。
爭奪兗州
呂布先投靠袁術,但因袁術不滿他自恃有功而十分驕恣、恣兵抄掠,所以被拒絕,呂布改投袁紹。
袁紹與呂布在常山會戰黑山軍張燕。黑山軍有一萬多精兵、幾千騎兵。呂布經常騎著能夠騰躍城墻、飛跨壕溝、名叫赤兔的良馬,與關系較為親近的麾下猛將成廉、魏越等幾十個人騎馬沖擊張燕的軍陣,有時一天去三四次,每次都砍了黑山軍的首級回來。連續作戰十多天,終于打敗了張燕的軍隊。
呂布仗恃自己的戰功,再次向袁紹要求增加軍隊,袁紹不答應,而呂布手下的將士也時時搶劫、掠奪,袁紹開始疑恨他。呂布感覺不安,就請求回洛陽。袁紹同意他的要求,以天子名義任命呂布領司隸校尉,派甲士送呂布而暗中要除掉他。呂布懷疑袁紹打自己的主意,就派人在營帳中彈著箏,自己悄悄逃了出去。半夜那些甲士出動,亂刀砍呂布的床,認為他已經死了。第二天袁紹得到呂布還活著的消息,于是下令關閉城門,呂布得以逃到河內,與張楊聯合。