興平元年(194),曹操東征陶謙,張邈、陳宮乘機在兗州反曹,暗中迎接呂布。時荀彧和壽張令程昱守鄄城(今山東鄄城北,兗州治所),呂布到後,派劉翊告訴荀彧:“呂將軍來助曹使君擊陶謙,宜亟供其軍食”(《三國志&;#8226;魏書&;#8226;荀彧傳》)。眾人疑惑,唯荀彧知其計,立即命令軍隊加強防,並急召東郡太守夏侯惇。而兗州諸城皆為呂布所佔。當時曹操率大軍出征,留守的兵力很少,而且很多人都與張邈、陳宮勾結。夏侯惇到後,乘夜誅殺謀反者數十人,軍心乃安。
豫州刺史郭貢受呂布煽動,率眾數萬來攻,軍中甚懼。郭貢要求見荀彧,荀彧準備前往,夏侯惇等人說:“君,一州鎮也,往必危,不可。”荀彧說:“貢與邈等,分非素結也,今來速,計必未定;及其未定說之,縱不為用,可使中立,若先疑之,彼將怒而成計”(《三國志&;#8226;魏書&;#8226;荀彧傳》)。荀彧出城勸說,郭貢見荀彧毫無懼意,便說鄄城易守難攻,引兵而去。荀彧又與程昱定計,保全了範、東阿、卒全三城。不久,曹操揮師濮陽擊敗了呂布。
興平二年(195年)正月,曹操擊敗侵入定陶(今山東定陶西北)的呂布軍。五月,曹操向駐軍鉅野(今山東鉅野東北)的呂布部將蔣蘭、李封發動攻擊,呂布親自援救,被曹操擊敗,撤退而走。曹操殲滅鉅野守軍,斬蔣蘭、李封,乘勝進駐乘氏(今山東鉅野西南)。
此時,徐州牧陶謙已死,曹操獲悉後,打算趁機奪取徐州,再回軍消滅呂布。荀彧勸阻說:“昔高祖保關中,光武據河內,皆深根固本以制天下,進足以勝敵,退足以堅守,故雖有困敗而終濟大業。將軍本以兗州首事,平山東之難,百姓無不歸心悅服。且河、濟,天下之要地也,今雖殘壞,猶易以自保,是亦將軍之關中、河內也,不可以不先定。今以破李封、薛蘭,若分兵東擊陳宮,宮必不敢西顧,以其閒勒兵收熟麥,約食畜谷,一舉而布可破也。破布,然後南結揚州,共討袁術,以臨淮、泗。若舍布而東,多留兵則不足用,少留兵則民皆保城,不得樵採。布乘虛寇暴,民心益危,唯鄄城、範、衛可全,其餘非己之有,是無兗州也。若徐州不定,將軍當安所歸乎?且陶謙雖死,徐州未易亡也。彼懲往年之敗,將懼而結親,相為表裡。今東方皆以收麥,必堅壁清野以待將軍。將軍攻之不拔,略之無獲,不出十日,則十萬之眾未戰而自困耳。前討徐州,威罰實行,其子弟念父兄之恥,必人自為守,無降心,就能破之,尚不可有也。夫事固有棄此取彼者,以大易小可也,以安易危可也,權一時之勢,不患本之不固可也。今三者莫利,願將軍熟慮之”(《三國志&;#8226;魏書&;#8226;荀彧傳》)。曹操採納荀彧的意見,放棄進攻徐州的企圖。抓緊戰機,收割熟麥,儲存糧秣,積蓄實力。
不久,曹操少勝多,大敗呂布,呂布連夜棄營撤往徐州。曹操乘勝攻取定陶城,並分別派出部隊收復兗州各縣,兗州遂平。此戰的獲勝,對曹操以後統一北方,成就大業,具有重要的意義,荀彧功不可沒。
建安元年(196年),隨曹操擊敗黃巾軍。七月,漢獻帝劉協在楊奉、董承等護衛下,從長安(今陝西西安西北)返回洛陽(今河南洛陽東北)。在要不要奉迎天子建都許昌的問題上,曹軍內部發生了爭執。多數人不同意迎接獻帝,理由是“山東未平,韓逼、楊奉新將天子到洛陽,北連張楊,未可卒制”(《三國志&;#8226;魏書&;#8226;荀彧傳》)。
荀彧則對曹操說:“昔晉文公納周襄王,而諸侯景從;高祖東伐為義帝縞素而天下歸心。自天子播越,將軍首倡義兵,徒以山東擾亂,未能遠赴關右,然猶分遣將帥,蒙險通使,