在客观上说,官渡之战中的曹操处于劣势,但由于他能正确分析客观条件,善于听取正确意见,所以能扬长避短,采用正确的战略战术,使战争向有利于自己的方面转化,经过自己主观上的努力,终于赢得了胜利。此战之后,曹操击溃了最大的敌人袁绍,由他统一北方已是大势所趋。
建安六年(公元201年)四月,曹操扬兵于黄河边,击破袁绍在仓亭的驻军。袁绍在官渡之败后,收合部队,平定了反叛的诸郡县。九月,曹操回到许县。又南征在汝南的刘备、龚都,刘备投奔刘表,龚都等人皆逃散。
建安七年(公元202年)正月,曹操驻军谯县。又到达浚仪县,治理睢阳渠,又派使者祭祀已故的太尉桥玄。然后,曹操进军官渡。[]
五月,袁绍病死[] ,袁绍之子袁尚继位,袁谭屯兵黎阳。九月,曹操亲自北征,大战于黎阳,袁谭、袁尚多次战败。
建安八年(公元203年)三月,曹操大破黎阳,袁谭、袁尚逃回邺城。四月,曹操进军邺城。五月,曹操引军退还,留贾信守黎阳。[] 不久后,曹操引兵向南,征讨刘表,袁谭、袁尚反目成仇,互相攻击,袁谭不敌袁尚,败走平原,遣辛毗向曹操乞降求救。当时诸将都怀疑有诈,只有荀攸劝曹操答应袁谭,曹操说:“我攻打吕布之时,刘表没有侵犯我方;官渡之战时,他又不肯帮助袁绍。这只是个自守的贼子,应该等到以后再来对付他。而袁谭、袁尚狡猾,我正应该趁北方混乱时发动攻击。就算袁谭挟诈,不肯真心屈服我军,但我击破袁尚,夺取他的地盘,对我军也更加有利。”于是再次北上,袁尚闻讯也退回邺城。当时,袁尚部将吕旷、吕翔背叛袁尚,率众投降曹操,曹操封两人为列侯。[] 袁谭私自刻将军印绶,交给吕旷两人,吕旷把将军印送给曹操,曹操说:“我自然知道袁谭会耍些小聪明。他想让我攻击袁尚,然后趁机略民聚众,自以为破袁尚后,实力足以自强,可趁我军疲敝来与我抗衡。但击破袁尚后,我的势力更加强盛,哪可能会疲敝,让他有机可乘呢?”[305] 曹操为了让袁谭暂时安心,还和袁谭结亲,让自己的儿子曹整娶袁谭的女儿。
建安九年(公元204年)正月,曹操率兵渡过黄河,截断淇水,引入白沟,作为运粮的通