呂布為當時名將,先為董卓部將,後與王允定計誅殺董卓。
當時只有鄄城(今屬山東)和東郡的範(今山東範縣東南)、東阿(今山東陽穀東北)兩縣尚在曹操掌握之中,分別由司馬荀彧和壽張令程昱、東郡太守夏侯惇等堅守,形勢異常危急。
曹操從徐州趕回,聽說呂布屯於濮陽,遂進軍圍攻濮陽。
二軍相持百餘日,蝗災大起,雙方停戰,曹操軍還鄄城。
此時,曹操失去了兗州,軍糧已盡,袁紹派人來勸說想讓曹操投靠他,讓曹操舉家遷到鄴縣當人質。
曹操本打算答應袁紹,多虧程昱勸阻,曹操才打消這個念頭。
公元195年(興平二年),曹操整軍再戰呂布,三敗之,破定陶、庸丘等,平定兗州。
呂布逃往徐州投靠劉備。七月,因李傕、郭汜的火拼,漢獻帝從長安東歸,下詔讓各路諸侯勤王。
公元196年(建安元年)八月,曹操迎漢獻帝。辛亥,漢獻帝封曹操為司隸校尉,錄尚書事。
庚申,遷都許昌。冬十一月丙戌,漢獻帝封曹操為司空,行車騎將軍事,百官總己以聽。
公元197年(建安二年)春正月,曹操討伐張繡,軍隊駐紮在淯水,張繡舉眾投降,旋即復叛,長子曹昂、侄子曹安民、猛將典韋戰死。
此後,曹操又兩度攻擊張繡,都沒有徹底擊破。秋九月,曹操東徵袁術,袁術棄軍而逃至淮河,梟袁術留守四將。
公元198年(建安三年)夏四月,曹操遣謁者裴茂率中郎將段煨討李傕,夷三族。九月,曹操東徵徐州,進攻久與他為敵的呂布。
在曹軍攻勢之下,呂布軍上下離心,十二月,呂布部將魏續、宋憲等生擒陳宮歸降曹操。
呂布見大勢已去,下城投降。
其實是呂布被部將宋憲魏續綁住獻給曹操的!!
曹操將呂布、陳宮、高順等人處死,收降呂布部將張遼以及泰山豪傑臧霸、孫觀等人,初步控制了徐州。
公元199年(建安四年),曹操派史渙、曹仁擊破張楊舊部眭固,取得河內郡,把勢力範圍擴張到黃河以北。
消滅睦固後,為了應對之後與袁紹的戰爭,曹操預作佈置,命在青州有潛在影響的臧霸等人攻入青州,佔領齊(治今山東臨淄)、北海(治今山東壽光東南)等地,鞏固右翼。
又命大將于禁屯軍黃河南岸,監視袁軍。
不久,張繡聽從謀士賈詡之計,投降曹操,曹操大喜,拜張繡為揚武將軍,解除了後顧之憂。
公元199年(建安四年劉備在陶謙死後,曾一度出任徐州牧,後徐州被呂布攻佔,劉備投奔曹操。
)十二月,曹操自率軍屯於官渡(今河南中牟北),準備迎擊袁紹。
曹操認為劉備是個英雄,先後表他為豫州牧、左將軍。
曹操攻佔徐州不久,淮南袁術準備逃往青州往依袁紹,曹操派劉備去截擊,袁術北上不得,嘔血而死。
公元200年(建安五年)正月,董承等人謀誅曹操事洩,被曹操殺掉。劉備遂襲殺徐州刺史車胄,佔據徐州。
這段歷史就是「衣帶詔」,有車騎將軍董承,昭信將軍吳子蘭,長水校尉種輯,越騎校尉王子服,議郎吳碩,左將軍劉備,西涼太守馬騰等,但是卻以失敗告終。
曹操為了免於將來同袁紹作戰時前後受敵,決定先消滅在徐州立足未穩的劉備。
當時諸將皆怕袁紹乘機來攻許都,曹操對此胸有成竹,說:「劉備,人傑也,今不擊,必有後患。袁紹雖有大志,而見事遲,必不動也。」
遂進軍,以迅雷不及掩耳之勢擊破劉備,劉備逃奔袁紹。
袁紹是當時北方最