公元201年五月初,公孙白率二十万大军自邺城南下,掀开了汉末两大最强诸侯之间的战争的序幕。
得到消息的曹操,一面令黎阳的守将车胄坚守城池和阵地,延缓公孙白南下的脚步,一面沿黄河一带布置防线。
曹操为了防止关中和西面的凉州生乱,遣使任命凉州的马腾为凉州牧,拜镇西将军,同时安抚关中,马腾原本并非像演义中那样忠义,不过一个有点野心但野心不大的地方军阀,所以欣然接受了曹操的好意。
曹操一面稳定侧翼的马腾,一面开始调兵遣将,准备迎战。他令夏侯惇率两万大军坚守河内郡荡阴和朝歌一带,防止公孙军从东面进攻司隶,同时对冀州的治所邺城造成威胁;令夏侯渊、李通率三万大军守青州平原郡,威慑渤海郡的守军;令于禁、魏续守武原,乐进、宋宪守延津,刘延和张绣守白马,满宠和李典守敖仓,藏霸和曹休守濮阳,韩浩、魏续守顿丘,几乎整个黄河沿岸一带的城市和渡口都布置了守军,防线长达千里,但都是镇守要隘之地。而曹操本人则亲率贾诩、程昱、徐晃、许褚、典韦、刘晔、曹纯、曹洪、蔡阳、曹仁等人镇守官渡,随时策应各处。
公孙白战功赫赫,被汉帝刘协称赞为超越卫青和霍去病的名将,自出道以来,未尝一败,叫曹操如何不敢小心谨慎,这一次曹操几乎是倾巢而出,出动了三十万大军,光官渡之地就留有十万大军,只留下曹昂、董昭和毛玠等人率三万人坚守许都。
这样的战术,可以说是曹操和贾诩、程昱的高明,同时也显示了曹操心中的示弱。公孙白不过二十万大军,而曹操多达三十多万大军,甚至只要曹操愿意,随时可以凑齐四十万大军,明显的以寡击众,但是曹操却采取的是防守战术,可以说是以逸待劳,而且将主战场放在黄河南面,则给自己增加了粮草供给的便利,同时也给公孙白带来了诸多不便,看似稳占便宜,但是两军交战讲究士气,曹操很显然在士气上落了下风。
面对曹操如同如同铁锁一般的千里防线,掌握进攻主动权的公孙白则简单得多,他令沮授、田丰率一万大军镇守邺城,同时分兵守九侯城和武城,呈犄角之势,防止东面的夏侯惇趁机偷袭;令田楷、关靖等幽州旧将率幽州旧部两万人坚守渤海郡,防止夏侯渊北上;然后率二十万马步混杂的大军浩浩荡荡的南下,直取黎阳,欲将黎阳作为伐曹的根据地,坐镇此地策应伐曹之大计。
黎阳城,原本属于冀州之城,但是因为其夹在司隶和兖州的中间地段,故自袁绍时代开始,黎阳城