荀彧一直是曹操手下最为得力的谋士,曹操能够在群雄混战中称雄北方,荀彧功不可没。在军事方面,曹操在攻打徐州时,他曾从容应对吕布、陈宫、张邈之乱,这曹操保住了兖州三城这个大后方;在官渡之战中,曹操自认不敌袁绍想退兵,是听了荀彧的分析后坚持了下来,这才创造了以少胜多的千古战例;他分析形势,献计使曹操奇袭荆州,并顺利得到了荆州。在政治上,钟繇、荀攸、陈群、杜袭、司马懿、郭嘉等人都是他推荐给曹操的。因此,曹操认为荀彧谋略突出,善于知人,而且他推荐的人全都很称职,所以对荀彧是十分地重用。曹操为了笼络荀彧,将自己的女儿嫁给了荀彧的长子,又对全不断加官进爵,官到汉侍中、尚书令,居中持重执掌中枢数十年。
然而。荀彧辅佐曹操却并未把曹操当成他的主子,也没有死忠于曹操。他实际上至死都是忠于汉室的,所以把曹操当作是东汉的中兴名臣来辅佐,认为曹操兴义兵的本意是为了匡扶汉室、安定国家,怀着忠贞的心。荀彧毕竟是看错了曹操。曹操乃当世奸雄,他表面上是为了汉朝,实际上却是为了个人的权势,是为了有一日曹氏能取代汉朝。正是他与曹操的这种微妙的关系,最终使他死的不明不白。荀彧的死与当时的一个小人物不无关系,这个人便是董昭。
曹操在挫败马超、平定关西后,其功勋和权势均达到了巅峰。董昭为表达他对曹操提拔重用的感激之情,建议曹操依照古法建立公、侯、伯、子、男五等封爵制度,并为曹操进封魏公而四处奔走。因为当时曹操还没有完全与汉献帝撕破脸皮,依照封建等级制度,异姓是不能封王的,最高也只能是封公、侯。于是,董昭便联系了一邦忠于曹操的大臣商议,很快便达成共识,准备上表奏请封曹操为魏公。可曹操毕竟不是汉室宗姓,如果外界引起不良的反响怎么呢?这时他便想到了曹操一向颇为依重的荀彧,他自认为荀彧肯定是不会反对的,可他毕竟是看错了荀彧的为人。荀彧竟然第一个跳出来反对,他认为曹操既然是匡扶汉室,就不应有此有损于名誉的妄想,同时也给曹操戴了顶仁义的高帽子。
曹操被荀彧冠以兴义兵匡扶朝廷安定国家的君子头衔,自然也是不好表示反对,只是从此便在心里埋下了对荀彧的恨意。曹操南征孙权时,上书朝廷请求派荀彧到前线慰劳军队。荀彧到达后,曹操借参谋军事之由将荀彧留了下来,让他以侍中、光禄大夫的身份,持符节参与丞相府的军事。后来,曹操大军开赴濡须口,荀彧因病留在寿春,据《资治通鉴》中记载,荀在寿春期间“饮药而卒”,即服下毒药身亡。
关于荀彧的死因,除《资治通鉴》中记载的这句话外,其它正史中均无更详细的记载。他的死因很明显是服毒药死亡,但这毒药是曹操下的,还是他自己自尽的,似乎成了一个谜,不能不让人有更多的猜想。荀彧的品德在后世史评中多有赞赏,若是因为他觉得自己未看清曹操的真实面目,怨恨自己辅错了人,加之有病而自杀,这种可能性也是有的。但从前因看,由于得罪了曹操而被下毒,最终死于曹操之手,这种可能性会更大一些。
荀彧死后,由于没有了拦路虎,曹操在建安十八年便被晋封为魏公,后又升为魏王。