公元196年,曹操把漢獻帝劉協迎接到了自己的許都。既然皇帝已經在自己的一畝三分地上,凡事自然就由曹操說了算。於是,曹操首先加封自己為大將軍,封武平侯,然後率領大軍把盤踞在洛陽附近的軍閥楊奉給消滅掉。本來,漢獻帝劉協是在楊奉、董承手上,楊奉手中兵馬眾多,戰鬥力強勁,是曹操的勁敵,可是曹操用董昭計策,以兩封書信騙取了楊奉的信任,假意說把漢獻帝劉協移到魯陽地區,既依然呆在楊奉的勢力範圍,又和許都靠近,方便運輸糧草。楊奉自以為和曹操關係已經很鐵,又貪圖曹操給的許多糧食,就答應了。沒想到曹操轉身就把漢獻帝劉協帶到了許都,楊奉率兵去追,可撲了個空。
三個月後,曹操在許都已經部署妥當,於是率軍進攻楊奉。楊奉軍隊缺糧幾個月,就算再能打,面對紅光滿面精力飽滿的曹操軍團也只能望風而逃。曹操掃除了洛陽的軍閥,在許都相對穩定了下來。一旦屁股坐穩了,曹操就開始有點躁動了。曹操假借漢獻帝劉協的名義,下了一道聖旨給袁紹,痛罵袁紹:「地多兵廣,而專自樹黨,不聞勤王之師,但擅相討伐。」曹操說袁紹地盤是很大,兵馬是很多,可是對朝廷對皇帝沒一點忠心,整天考慮的就是自己搶地盤。曹操說的是真話,可是說真話往往沒有好下場。不久,曹操就為自己說了這句真話而付出了代價。
本來,曹操是不敢如此牛皮哄哄的。前兩年,曹操還不過是一個東郡太守,要不是當時的兗州刺史劉岱去世,空出了位置,要不是當時兗州的名流陳宮和曹操的老哥們鮑信出面,力挺曹操,曹操不可能得到兗州刺史的位子。做上刺史位子之後,曹操借口陶謙殺掉自己的父親,征討徐州取得大勝。可是轉過身來被呂布襲取了大部分領土,一時之間存亡未卜,曹操非常狼狽。幸虧荀彧和程昱等人苦苦支撐,又重新奪回了兗州。
在去年(195年)曹操自封為兗州牧。曹操這人天生就是那種閻王脾氣,越是經歷敲打,確實身體結實。呂布被驅逐出兗州後,曹操的膽量更大了。加上又有郭嘉、荀攸等等第一流的謀士參謀前來相助,曹操更是自信滿滿。其實,當時曹操的力量和局勢遠遠不如北方的袁紹。袁紹在公元191年從冀州刺史韓馥的手上奪取了冀州,然後自封為冀州牧,並且以冀州為依托,向周圍的并州、青州、幽州進軍。當時,除了幽州和青州一部分在公孫瓚的手上,袁紹已經擁有接近三州的領土。而幽州的公孫瓚經歷了多次戰敗之後,早就沒有了和袁紹抗衡的鬥志,龜縮在自己建造的堡壘當中,和婦人為伍。而袁紹也雄心勃勃,一心想要一統北方,建立屬於自己的霸權。
於是,接到曹操這道聖旨,袁紹大怒,說:「曹操當死數矣,我輒救存之,今乃挾天子以令我乎!」袁紹說曹操那小子幾次就要死了,不是我救他,他有今天!現在竟然挾持天子命令我,位置在我的上面!當時袁紹的職位是太尉,拜鄴城侯,在漢代,大將軍位在太尉之上,袁紹怎麼能夠從來就是自己小弟的曹操爬到自己的頭上呢?於是袁紹上表,拒絕這個任命。如果曹操夠牛的話,那袁紹你不當就別當,再拽就派兵馬剷平了你。可惜,曹操沒有那麼牛。曹操這個人,高興的時候得意,但是卻很知道收斂,並不是那種得意忘形的人。既然袁紹如此生氣,那麼你進我退,就把自己的大將軍的位子讓給了袁紹。
確實,曹操當時只有兗州一塊地盤,並且兗州經歷了黃巾之亂,經歷了呂布之亂,早就殘破不堪,雖然曹操多次下達屯田令,可是恢復經濟並非一時可以達成。現在的曹操,實力根本沒有辦法和袁紹抗衡,於是曹操原則了隱忍。這一忍就是幾年。不當大將軍了,曹操改任自己為司空,兼任車騎將軍。當時朝中三公為司徒、司空、太尉,前不久漢獻帝劉協手下的那批三公早就全部下崗,就算是讓袁紹繼續大將軍兼任太尉,可是司徒還沒有人選。為何曹操不當首席執行官,卻要當負責司法的司空呢?因為曹操把自己的大部分的經歷還要放在軍事上,朝廷的日常事務只能由其他人來打理。掛個三公的虛名,還是做自己的兗州牧最為實在。袁紹的羞辱讓曹操意思到了自己的弱小,要想真正和袁紹叫板,就必須繼續壯大。可是向北發展暫時不可能,於是曹操把目光轉向徐州的呂布和劉備。