依附劉表
公元200年(建安五年)秋七月,汝南黃巾軍首領劉辟等叛歸袁紹,袁紹使劉備領兵與劉辟寇略許都以南,關羽得知後從曹操處亡歸至劉備處助之,曹操派遣曹仁來攻擊劉備,劉備戰不利於是回到袁紹處,想要離開袁紹,以連結劉表為由,帶兵復到汝南,聯合黃巾餘黨龔都,眾有數千人,曹操派遣蔡陽前來攻打,被劉備所殺。
公元201年(建安六年),曹操親自討伐劉備,劉備往投劉表,劉表親自到郊外迎接劉備,待以上賓之禮,遂屯於新野,荊州豪傑都前往歸附劉備,引起劉表的猜疑,劉表暗裡提防劉備。
公元202年(建安七年),劉表命劉備帶軍北上,到葉縣,夏侯惇、於禁、李典率軍抵擋,劉備偽退,設下伏兵,李典覺得有詐乃勸之,夏侯惇不聽,被劉備打敗,幸好李典及時趕來,劉備軍力過少,知道相持下去佔不到便宜,於是退軍。
劉備在荊州數年,自覺老之將至而功業未建,遂有「髀肉之歎」,劉備向劉表提出趁曹操進攻烏桓時偷襲許都的建議,劉表沒有採納。
對抗曹操
公元207年(建安十二年),劉備前往隆中拜訪諸葛亮,三顧茅廬之後,諸葛亮向劉備獻上了隆中對。
公元208年(建安十三年),曹操親率大軍南下,而此時劉表病死,劉表次子劉琮代立,遣使者投降曹操,劉備屯兵於樊城,不知道曹操軍的突然到來,到了宛城才知道狀況,隨即率軍離開,路經襄陽時,諸葛亮建議劉備攻打劉琮,可佔據荊州,但劉備因和劉表同宗,不忍相奪。
劉備於城外喊劉琮,劉琮因為害怕不敢出來,劉琮的部下以及很多荊州士人投靠劉備,到當陽時,竟有十餘萬眾,輜重數千輛,日行十餘里,劉備另派遣關羽乘船數百艘,讓他和自己於江陵會合。
有人勸說劉備:「現在應該迅速保住江陵,我們雖然人數眾多,但是有士兵太少,若曹操來了,我們怎麼阻擋?」但劉備說:「想要成大事必須以人為本,現在這麼多人背井離鄉跟著我,我怎麼忍心拋下他們!」