大概公元199年的時候,曹操名將、曾任許昌縣令的滿寵來報,袁術因眾叛親離,窮途末路,想歸帝號於袁紹,準備放棄淮南,回到河北。當時謀士郭嘉、程昱外出考較錢糧,《三國誌˙武帝紀》記載:曹公遣先主督朱靈、路昭要擊術。劉備借機請兵去截擊袁術。曹操未加多想,答應下來。劉備在許都親眼看見曹操把持朝政,獨斷專行,一直尋找脫身之計,這次抓住機會,馬上帶兵離開許都,自覺同魚人大海、鳥上青霄一般。劉備終非池中之物,時機不順,可以蟄伏,一旦時機來到,必然會乘風破浪,騰空而起。
再說袁術袁公路,為司空袁逢之嫡長子,是袁紹同父異母的兄弟。由於家族關係,袁術很早成為朝廷官員。董卓篡政後,袁術跑到南陽避禍。袁術經營南陽,“不修法度,以鈔掠為資,奢姿無厭,百姓患之”。在南陽袁術奢侈無度,搶掠民財,百姓非常痛恨他。《三國誌˙二袁傳》記載(袁術)“既與紹有隙,又與表不平,而北連公孫瓚,紹與瓚不和而南連劉表。其兄弟攜貳,舍近交遠如此”。袁術事業初創,政治上舍近求遠,不懂伐交、伐謀,目關短淺,又無遠慮,可見其政治、軍事上拙劣至極。
袁術“陰謀不軌,以身試禍”,於公元197年2月在壽春(今安徽省六安市壽縣)稱帝,國號仲家,即卩史稱“仲家皇帝”。但袁術治國無方,過度驕奢,不恤軍民,“士卒凍餒,江淮間盡,人民相食”,弄得眾叛親離,終於難以支撐。袁術於公元197年、198年的時候,和曹操、呂布戰於徐揚,結果被打得一敗再敗,一直敗回淮南。人到難處想兄弟,袁術終於想到了同父異母的袁紹,打算經徐州,到青州,先和侄子袁譚照麵,再投奔冀州袁紹。結果窮途末路的袁術,於公元199年6月在半路上嘔血而死。正好劉備在徐州截住袁軍,殺得袁軍將士四散逃亡。廬江太守徐繆趁亂奪得傳國玉璽,送與了曹操。自古得人者昌,失人者亡,像呂布、袁術之流,違逆天道,四處樹敵,其滅亡是咎由自取,老天爺的報應。
劉備到達下邳後,《三國誌魏書˙董昭傳》記載:“備到下邳,殺徐州刺史車胄,反”。劉備殺掉車胄後,打出旗號公開反曹。然後劉備令關羽守下邳,自己回小沛,成犄角之勢守住徐州。劉備聽從陳登之計,“遣從事孫乾自結於袁紹”,聯合袁紹共同對付曹操。從此劉備徹底和曹操決裂,成為終生的對手。
從公元196年遷都許縣開始,曹操挾天子以令諸侯,先後擊敗呂布、袁術,占據了兗州以及部分徐州、豫州和司隸州,勢力迅速壯大。公元199年,袁紹消滅公孫瓚,據有幽州、冀州、青州、並州,意欲南向以爭天下。這樣,北方最重要的兩個政治軍事集團,決戰已經在所難免。
公元200年正月,國舅董承“衣帶詔”事件暴露,曹操殘忍地殺死董承、王子服等人,夷滅三族。伏皇後有孕在身,曹操也不放過,下令勒死在宮門之外。曹操得知劉備參與其中,憤怒地說“劉備,人傑也,今不擊,必為後患”。曹操以為劉備欲謀大事,不可不除,於是率領大軍至徐州討伐劉備。劉備帶關羽、張飛迎擊曹軍,由於將微兵寡,結果被打敗,四散奔逃。張飛望芒楊山(今河南永城東北,分芒山和楊山)逃去,劉備逃向青州方向,“青州刺史袁譚,先主故茂才也,將步騎迎先主”,劉備多交朋友,廣樹恩義,“投之以桃,報之以李”,先被袁譚迎人青州。袁譚稟告袁紹,袁紹出鄴城二百裏,與劉備相見。袁紹、袁譚念劉備舉茂才之恩,熱情地接納了劉備。小沛丟失後,陳登獻了徐州,投奔曹操,關雲長死守下邳。後來“曹公擒羽以歸,拜為偏將軍,禮之甚厚”,曹操攻破下邳後,盡管關羽不降,但愛關羽忠義,曹操依然封官許願,把關羽滯留於軍中。劉備算是一個跑路皇帝,跟隨公孫瓚,依附呂布,投靠曹操,又歸順袁紹。多年的輾轉奔波,此時劉備已經年逾四十。但是平民賣鞋生活培養了劉備百折不撓、愈挫愈奮的性格,反正活著就有希望,有希望就能前行。
趙雲驅馬趕到徐州時,城樓上已經插著曹操的旗號。此時劉備已經被曹操戰敗,投奔袁紹去了。而徐州趙雲得知徐州已被曹操占領,劉備投靠了袁紹經過呂布、袁術、曹操幾方混戰,已是滿目荒涼,流民遍地。趙雲得知劉備歸附了袁紹,喜的是得到劉備的消息,憂的是前日袁紹幾次招納,都被拒絕,如去見劉備,恐被袁紹責怪。趙雲隻得信馬由韁,四海飄零。連環畫《子龍落草》講趙雲路過臥牛山,裴元紹下山搶馬,被趙雲挑於馬下。眾嘍囉於是擁戴趙雲為寨主。趙雲在山上招兵買馬,勤於練兵,勢力漸漸強大起來。這種虛構和《三國演義》所講一致,趙雲在山上找到了落腳之地,又拉起了一支隊伍。想起來合情合理,但是卻不符合《雲別傳》當中趙雲來到鄴城的記載。
公元199年,誌在必得的袁紹出兵攻打許都,拉開官渡之戰的序幕。袁紹以顏良為先鋒,進軍白馬(今河南滑縣境內)。曹操請出關羽,一個照麵就斬殺了顏良。關羽率軍乘勝追擊,大敗袁軍,遂解白馬之圍。關羽立功,被封為漢壽亭侯。袁紹大怒,屯兵延津(今開封西北),又令大將文醜和劉備挑戰曹軍,曹操以小利誘敵,袁軍陣形自相雜亂,被曹操再次戰敗,文醜又死於亂軍之中。袁紹於是退軍陽武(今河南原陽東南),曹操還屯官渡(河南許昌市北),雙方按兵不動,相持不下。