曹操也有過人的武藝。曹操“任俠放蕩,不治行業”,未被時人所重,但素以知人名世的太尉橋玄一見曹操就大為驚奇,說:“天下將亂,非命世之才不能濟也,能安之者,其在君乎!”隨之,橋玄又讓曹操去拜訪當時漢末相當於時下流行的那類“選秀節目”的點評主持“月旦評”的名士許子將,許子將評價曹操說:“子治世之能臣,亂世之奸雄”。由此,曹操漸知名於世。
靈帝熹平三年(174年),二十歲的曹操被舉為孝廉,入洛陽為郎。不久,被任命為洛陽北部尉。洛陽為東漢都城,是皇親貴勢聚居之地,很難治理。曹操一到職,就申明禁令、嚴肅法紀,造五色大棒十餘根,懸於衙門左右,“有犯禁者,皆棒殺之”。皇帝寵幸的宦官蹇碩的叔父違禁夜行,曹操毫不留情,立即處死。於是,“京師斂跡,無敢犯者”。
靈帝中平元年(184年),黃巾農民起義爆發,曹操被拜為騎都尉,受命與盧植等人合軍進攻潁川黃巾軍,結果大破黃巾,斬首數萬級。隨之遷為濟南相。濟南相任內,曹操治事如初。濟南國(今山東濟南一帶)有縣十餘個,各縣長吏多依附貴勢,貪贓枉法,無所顧忌。曹操之前曆任國相皆置之不問。曹操到職,大力整飭,一下奏免長吏八名,濟南震動,貪官汙吏紛紛逃竄。“政教大行,一郡清平”。當時正是東漢政治極度黑暗之時,曹操不肯迎合權貴,遂托病回歸鄉裏,春夏讀書,秋冬弋獵,暫時隱居了。
中平五年(188年),漢靈帝為鞏固統治,設置西園八校尉,曹操因其家世被任命為八校尉中的典軍校尉。
中平六年(189年),董卓進入洛陽,廢少帝,立獻帝劉協,後又殺太後及少帝,自稱相國,專擅朝政。曹操見董卓倒行逆施,不願與其合作,遂改易姓名逃出京師洛陽(今河南洛陽東北)。
曹操到陳留後,“散家財,合義兵”。組織起一支五千人的軍隊,準備討伐董卓。
獻帝初平元年(190年)正月,關東州郡牧守起兵討伐董卓,共推袁紹為盟主。曹操以行奮武將軍的身份,參加討董軍。二月,董卓脅迫獻帝遷都長安(今陝西西安西北),自己留居洛陽抵禦關東軍。董卓之涼州軍驍勇善戰,關東軍十餘萬人駐酸棗(今河南延津北)一帶,無人敢向洛陽推進。曹操認為董卓“焚燒宮室,劫遷天子,海內震動”,應趁機與之決戰,遂獨自引軍西進。曹操行至滎陽汴水(今河南滎陽西南),與董卓軍遭遇,大敗,士卒死傷大半,自己也被流矢所傷。回至酸棗,曹操建議諸軍各據要地,再分兵西入武關(今陝西丹鳳東南),圍困董卓,關東諸將不肯從。
關東諸軍名為討董卓,實際各自心懷鬼胎,意在伺機發展自己勢力。不久,諸軍之間發生摩擦,相互火並。初平三年,司徒王允與呂布在長安定計殺掉董卓,董卓部將李傕、郭汜等攻陷長安,殺王允,進攻呂布,關中也陷入戰亂。是時,州郡牧守各據一方,形成諸侯割據的局麵。
初平三年,青州黃巾軍大獲發展,連破兗州郡縣,陣斬兗州刺史劉岱。濟北相鮑信等迎曹操任兗州牧。曹操和鮑信合軍進攻黃巾。鮑信戰死。曹操“設奇伏,晝夜會戰”,終於將黃巾擊敗。獲降卒三十餘萬,人口百餘萬。曹操收其精銳,組成軍隊號“青州兵”。
漢獻帝初平四年(193年)秋,曹操進兵徐州(治郯,今山東郯城),向東南擴展勢力。徐州牧陶謙退守郯縣。不久曹操軍糧將盡,撤圍回軍。次年夏,曹操再征徐州,略地至東海。曹操征徐州期間,所過大肆殺戮,一路上“雞犬亦盡,墟邑無複行人”。
曾參加討董卓之戰的陳留太守和曹操部將陳宮對曹操不滿,遂叛操,迎呂布為兗州牧。呂布為當時名將,先為董卓部將,曾與王允定計誅殺董卓。當時隻有鄄城(今屬山東)和東郡的範(今山東範縣東南)、東阿(今山東陽穀東北)兩縣尚在曹操掌握之中,分別由司馬荀彧和壽張令程昱、東郡太守夏侯敦等堅守,形勢異常危急。曹操從徐州趕回,聽說呂布屯於濮陽,遂進軍圍攻濮陽。二軍相持百餘日,蝗災大起,雙方停戰,曹操軍還鄄城。
興平二年(195年)夏,曹操整軍再戰呂布,於巨野(今山東巨野南)大破呂布軍,呂布逃往徐州投靠劉備。曹操從陳留起兵到興平二年將呂布、張邈趕出兗州,經過六年的經營,終於有了自己的一塊根據地。曹操起兵之初,僅有數千人,出任東郡太守前後,他陸續延攬一些擁有宗族、部曲等家兵的豪強地主歸附自己,後擊潰青州黃巾軍,又收其精銳組成“青州兵”。這樣,曹操又有了一支頗具戰鬥力的軍隊。根據地和軍隊,是曹操得以成事的基本條件。
而漢獻帝劉協自被董卓劫至長安後,一直處於顛沛流離之中。建安元年七月,獻帝終於回到洛陽,洛陽經董卓之亂,已是一片廢墟。百官沒有地方居住,“披荊棘,依丘牆間”,洛陽也沒有糧食,“州郡各擁強兵,而委輸不至,群僚饑乏,尚書郎以下自出采穭,或饑死牆壁間”。
其實早在初平三年(192年),曹操的謀士毛玠就向曹操提出了“奉天子以令不臣,修耕植,畜軍資”的戰略性建議,曹操深以為是。建安元年八月,曹操親至洛陽朝見獻帝。隨即挾持漢帝遷都許昌。從此,曹操取得了挾天子以令諸侯的優勢。這是曹操政治上的一大成功。