曹操與袁紹本是少年時的夥伴,互知對方之底細及其為人。曹操、袁氏兄弟均有野心,及至董卓之亂後,二袁雄踞南北,各霸一方,狼子野心更加暴露,因此曹操極其關注他們的勢力、行動及其發展。
曹操確立的先除掉呂布、張繡、袁術等南麵、東麵之敵,以解後顧之憂,然後北戰袁紹的戰略是正確的。不到三年,這個戰略任務便完成了。與此同時,西撫韓遂、馬騰,東聯孫策也獲得了成功,韓、馬遣子入侍,孫策受命明漢將軍,劉表也表示了中立態度。這樣,西麵、東麵、南麵都取得了相對安定,改變了原來的軍事態勢,於是便可以放心北拒袁紹了。
隨著曹操勢力的擴張,這時的袁紹很清楚地認識到曹操今非昔比,已成了最危險的對手。他同曹操一樣,為了對付主要敵人,也懂得必須先除後顧之憂。因此,他也想穩住對方,所以接受了曹操派孔融持節拜其為大將軍,都督四州事。他的後顧之憂是公孫瓚。
袁紹、公孫瓚為爭奪冀州、幽州地盤,早在初平年間(190—193)即不斷攻戰。興平二年(195),袁紹與原幽州刺史劉虞舊部鮮於輔等合兵破公孫瓚於鮑丘(鮑丘水,今北京密雲境潮白河)。建安三年(198),袁紹大軍攻打公孫瓚,公孫瓚於四年春因兵敗自焚而死。
袁紹北戰公孫瓚從戰略上說不一定是錯的。但在客觀上卻為曹操提供了馳騁徐淮、發展壯大勢力的機會。曹操不失時機地抓住了客觀為他提供的這一契機,乘時南征東剿。前述荀或、郭嘉所謂“紹方北擊公孫瓚,可因其遠征,東取呂布”之獻策正好說明了這一點。
總之,曹操、袁紹雙方至少從建安二年(197)即開始為一決雌雄而積極備戰。
從建安四年(199)春袁紹攻滅公孫瓚以後至建安五年(200)二月袁紹出兵白馬以前的一段時間,在這不過八九個月的時間裏,雙方都在加緊謀劃,並不斷完善自己的戰略部署。