依附刘表
公元200年(建安五年)秋七月,汝南黄巾军首领刘辟等叛归袁绍。袁绍使刘备领兵与刘辟寇略许都以南,关羽得知后从曹操处亡归至刘备处助之。曹操派遣曹仁来攻击刘备,刘备战不利于是回到袁绍处,想要离开袁绍,以连结刘表为由,带兵复到汝南,联合黄巾余党龚都,众有数千人,曹操派遣蔡阳前来攻打,被刘备所杀。[15]
公元201年(建安六年),曹操亲自讨伐刘备,刘备往投刘表。刘表亲自到郊外迎接刘备,待以上宾之礼,遂屯于新野。荆州豪杰都前往归附刘备,引起刘表的猜疑,刘表暗里提防刘备。[16]
公元202年(建安七年),刘表命刘备带军北上,到叶县,夏侯惇、于禁、李典率军抵挡。刘备伪退,设下伏兵,李典觉得有诈乃劝之,夏侯惇不听,被刘备打败,幸好李典及时赶来,刘备军力过少,知道相持下去占不到便宜,于是退军。刘备在荆州数年,自觉老之将至而功业未建,遂有“髀肉之叹”。刘备向刘表提出趁曹操进攻乌桓时偷袭许都的建议,刘表没有采纳。[17]
对抗曹操
公元207年(建安十二年),刘备前往隆中拜访诸葛亮,三顾茅庐之后,诸葛亮向刘备献上了隆中对。
公元208年(建安十三年),曹操亲率大军南下,而此时刘表病死,刘表次子刘琮代立,遣使者投降曹操,刘备屯兵于樊城,不知道曹操军的突然到来,到了宛城才知道状况,随即率军离开,路经襄阳时,诸葛亮建议刘备攻打刘琮,可占据荆州,但刘备因和刘表同宗,不忍相夺。刘备于城外喊刘琮,刘琮因为害怕不敢出来,刘琮的部下以及很多荆州士人投靠刘备,到当阳时,竟有十余万众,辎重数千辆,日行十余里,刘备另派遣关羽乘船数百艘,让他和自己于江陵会合。有人劝说刘备:”现在应该迅速保住江陵,我们虽然人数众多,但是有士兵太少,若曹操来了,我们怎么阻挡?“但刘备说:“想要成大事必须以人为本,现在这么多人背井离乡跟着我,我怎么忍心抛下他们!”[18]