刘备到了小沛之后,东海的昌霸起兵反叛曹操,很多郡县也纷纷响应,投靠了刘备,刘备的队伍一下子扩充到了几万人。他还派孙乾去和袁绍结盟,试图壮大自己的势力。曹操得知后,派刘岱、王忠去攻打刘备,却没能取胜。建安五年,曹操亲自东征刘备,刘备这次遭遇惨败。据《魏书》记载,当时曹操正忙着在官渡和袁绍对峙,形势紧张,但他还是分出一部分兵力留守官渡,自己亲自率领精锐部队去征讨刘备。刘备一开始以为曹操正和袁绍大战,抽不出身来攻打自己,可突然有侦察骑兵来报,说曹操亲自带兵来了。刘备大惊失色,一开始还不敢相信,亲自带着几十名骑兵出去查看,远远看到曹操军队的军旗,立刻吓得丢下部众,仓皇逃走。曹操这次大获全胜,不仅收编了刘备的全部军队,还俘虏了刘备的妻子儿女,连关羽也被生擒,带回了许都。
刘备在接连遭遇失败后,慌不择路地逃向青州。当时的青州刺史袁谭,曾经被刘备举荐为茂才,这份知遇之恩袁谭一直记在心里。得知刘备来投,袁谭二话不说,亲自带着一队步兵和骑兵前去迎接,一路护送刘备到平原。到了平原,袁谭不敢耽误,赶紧派人快马加鞭去给袁绍报信。袁绍一听刘备来了,也特别重视,不仅派手下将领在沿途迎接,自己还亲自走出邺城二百里地,就为了能见刘备一面。《魏书》里记载,刘备归附袁绍后,袁绍父子对他那是真心实意地敬重,礼遇十分周到。
刘备在袁绍这儿待了一个多月,之前打仗失散、逃亡的士兵,听说老大在袁绍这儿,又陆陆续续地找了过来。这边刘备刚缓过一口气,那边曹操和袁绍就在官渡对峙,局势一触即发。汝南的黄巾军首领刘辟瞅准机会,带着手下人造反,背叛曹操响应袁绍。袁绍一看,觉得是个好机会,就让刘备带着兵,和刘辟他们一起去攻打许昌周边地区。巧的是,关羽也在这个时候摆脱曹操,一路奔波,重新回到了刘备身边。曹操哪能容忍刘备在自己眼皮子底下捣乱,立马派曹仁带着大军去攻打刘备。刘备敌不过曹仁,只好又退回袁绍的军营。
在袁绍这儿待久了,刘备心里也不踏实,一直琢磨着找机会离开。他瞅准时机,跟袁绍说:“咱们可以往南联络荆州牧刘表,和他结盟,这样咱们的势力就能更大,也能更好地对付曹操。” 袁绍觉得有道理,就又让刘备带着自己原来的部队,回到汝南,和当地的山贼龚都等人会合,队伍一下子扩充到了几千人。曹操知道后,气得不行,派蔡阳去攻打刘备。没想到,蔡阳根本不是刘备的对手,反倒被刘备给杀了。