東漢末年,轟轟烈烈的黃巾起義雖然被鎮壓下去了,但它卻沉重地打擊了漢朝地主階級的統治,使早已腐朽不堪的東漢政權分崩離析,名存實亡。在鎮壓黃巾起義的過程中,各地州郡大吏獨攬軍政大權,地主豪強也紛紛組織「部曲」(私人武裝),佔據地盤, 形成大大小小的割據勢力,轉入爭權奪利、互相兼併的長期戰爭,造成中原地區「白骨露於野、千里無雞鳴」的淒慘景象。
當時的割據勢力:主要有河北的袁紹、河內的張楊、兗豫的曹操、徐州的呂布、揚州的袁術、江東的孫策、荊州的劉表、幽州的公孫瓚、南陽的張繡等。形成群雄並起的局面,在這些割據勢力的連年征戰中,袁紹、曹操兩大集團逐步壯大起來。[1] 公元196年(建安元年),曹操迎獻帝,遷都許縣,自始挾天子以令諸侯(「奉天子而征四方」),威勢大增。他先後擊敗呂布、袁術,佔據了兗州、徐州以及部分豫州、司隸。公元199年(建安四年),袁紹最終戰勝公孫瓚,據幽州、冀州、青州、并州,盡有河北之地,意欲南向以爭天下。
這樣,華北最重要的兩個政治軍事集團,決戰勢所難免。起初形勢袁強曹弱。袁紹已無後顧之憂,地廣人眾,可動員的兵力在十萬以上。[2] 曹操則是處於四戰之地,除了北方的袁紹,關中諸將尚在觀望,南邊劉表、張繡不肯降服,東南孫策蠢蠢欲動,暫時依附的劉備也是貌合神離。儘管如此,當時的一些有識之士,包括曹操的謀士參謀荀彧、郭嘉,還在張繡麾下的賈詡,以及涼州從事楊阜,在綜合分析了曹、袁的優劣後,認為袁紹外寬內忌,好謀無決,他們都看好曹操,認為局勢會向著有利於曹的方向變化。
公元198年(建安三年)十月,河內郡太守張楊欲出軍救援呂布時卻為部下楊丑所殺,曹操解除進攻徐州呂布的後顧之憂,十一月,呂布被曹操消滅;公元199年(建安四年),張楊舊部眭固殺楊丑,欲北投袁紹,曹操派史渙、曹仁擊破眭固,取得河內郡,把勢力範圍擴張到黃河以北[3] ,六月,袁術病死,十一月張繡投降曹操[4] 。劉表坐觀成敗[5] ,孫策保守江東。局勢變得更加明朗。