建安二年(197年),袁绍休书与曹操,辞语骄慢。曹操大怒,问计荀彧、郭嘉,郭嘉建议曹操先讨吕布。曹操于是上表封钟繇为侍中守司隶校尉,持节督关中诸军。钟繇至长安,移书写信给韩遂、马腾等,二人遂各遣子入京为人质。建安三年(198年),曹操征讨吕布,吕布败退固守下邳(今江苏睢宁西北)。曹军久攻不克,将士疲惫,曹操想罢兵撤退。郭嘉与荀攸指出:“吕布勇而无谋,今三战皆北,其锐气衰矣。三军以将为主,主衰则军无斗志。夫陈宫有智而迟,今及布气之未复,宫谋之未定,进急攻之,布可拔也。曹操点头称是,于是,曹军乃引沂水、泗水灌城。经月余,吕布更加困迫。十二月,吕布部将侯成、宋宪、魏续等叛变,引曹军攻入下邳,吕布被围在白门楼,被迫投降。曹操下令诛杀吕布、陈宫、高顺等,传首许都,凯旋班师。此役,曹操歼灭了劲敌吕布,为扫灭袁绍等割据势力,完成统一北方大业,创造了有利条件。
建安四年(199年),曹操奉迎汉献帝迁都许昌(今河南许昌东)后,独掌军政大权,总揽朝政,皇帝成为傀儡。车骑将军董承接受皇帝衣带诏,与刘备及长水校尉种辑、将军吴子兰、王子服等,密谋除掉曹操。刘备恐曹操猜忌,欲伺机脱离曹操控制,趁右将军袁术溃败,主动请求跟大将朱灵前去截击。郭嘉、程昱、董昭等闻后,都说:“备不可遣也”!曹操后悔,立即派人去追,已来不及了。后袁术南逃寿春(今安徽寿县),朱灵班师回朝。十二月,刘备乘曹操部署对袁绍作战之时,袭斩徐州(治下邳,今江苏睢宁西北)刺史车胄,又击败曹操派去讨伐的司马长史刘岱军,据有徐州、下邳(今江苏睢宁西北)等地,背叛曹操,响应袁绍
自兴平二年(195年)起,孙策从袁术处借兵,渡江征讨江东,至建安五年(200年),孙策已尽得江东之地,成为割据一方的豪强。此时孙策闻曹操与袁绍相持于官渡,欲率军渡江北袭许昌。曹军皆惊,唯郭嘉说:“策新并江东,所诛皆英豪雄杰,能得人死力者也。然策轻而无备,虽有百万之众,无异于独行中原也。若刺客伏起,一人之敌耳。以吾观之,必死于匹夫之手”。后来,孙策果然为刺客所杀,被郭嘉言中。
建安八年(203年)二月,曹军发起总攻,大战于黎阳城下,袁军战败,袁尚、袁谭弃城逃邺,曹军占领黎阳。四月,曹操进军邺城,为充实军粮,抢收小麦。袁军乘机发起反击,曹军小挫。曹操本拟重新组织攻城。郭嘉认为:“袁绍爱此二子,莫适立也。有郭图、逢纪为谋臣,必交斗其间,还相离也。急之则相持,缓之而后争心生。不如南向荆州,若征刘表者,以待其变;变成而后击之,可一举定也”。曹操纳其计,五月,撤军返许昌(今河南许昌东),留部将贾信屯兵黎阳,监视袁军。