公元190年(初平元年)二月,曹操復(fù)起兵討伐董卓,到了滎陽,被董卓的部將徐榮擊敗。其間曹操失掉坐騎,而董軍追襲甚急,曹洪見狀跳下馬來,把坐騎讓給曹操,在危急關(guān)頭救了曹操。但是曹操推辭不受,曹洪說:“天下可以沒有我曹洪,但不能沒有您啊!”于是步行隨曹操到了汴水邊,水深流急,不能涉水過河,曹洪沿著河道搜尋,終于尋到一只渡船,于是曹操得以渡河,返回到譙郡。

初平四年(193年),曹操征徐州時(shí),張邈、陳宮舉兗州叛迎呂布。當(dāng)時(shí)正鬧饑荒,曹洪在前開路,占據(jù)了東平、范縣,征集糧食以接濟(jì)后續(xù)部隊(duì)。曹操在濮陽征討張邈、呂布,呂布敗退,曹操遂占領(lǐng)了東阿,轉(zhuǎn)而又攻克了濟(jì)陰、山陽、中牟、陽武、京、密等十余座縣城。曹洪在這些戰(zhàn)役中立下了汗馬功勞,被任命為鷹揚(yáng)校尉,遷為揚(yáng)武中郎將。

建安元年(196年),曹洪奉命率軍西迎漢獻(xiàn)帝,遷都許昌時(shí),曹洪獲授諫議大夫。又作為別部征討劉表,擊敗劉表的將領(lǐng)于舞陽、舞陰、葉縣、堵陽、博望等地。曹洪因戰(zhàn)有功,遷為厲鋒將軍,封國明亭侯。曹洪屢次追隨曹操征伐,拜都護(hù)將軍。建安四年(200年),曹洪與徐晃破濦強(qiáng)叛軍祝臂。建安五年(200年)十月,曹操在許攸的建議下,率輕兵奇襲烏巢,留曹洪、荀攸守營壘,袁紹得知消息后,派張郃、高覽猛攻曹操大營,在曹洪與荀攸的堅(jiān)守下,張郃、高覽無法攻破。待曹操火燒烏巢后,張郃與高覽燒毀了攻營的器械,到曹營去投降。曹洪生怕中計(jì),不敢接受他們投降。荀攸說:“張郃因?yàn)橛?jì)策不為袁紹采用,一怒之下來投奔,您有什么可懷疑的!”于是接受了二人的投降。

建安二十二年(217年),劉備遣張飛、馬超、吳蘭等屯軍下辨;曹洪奉命拒之。建安二十三年(218年),劉備派遣將軍吳蘭屯下辯,曹操派遣曹洪征之,以曹休為騎都尉,作為曹洪軍事參謀。曹操在出征前對曹休說:“你雖名為參軍,但其實(shí)就是這支軍隊(duì)的主帥。”曹洪得知此令后,也把軍中事務(wù)委托給曹休負(fù)責(zé)。當(dāng)時(shí)劉備見曹軍進(jìn)至下辨,于是遣張飛屯駐于固山一帶,聲稱要切斷曹軍的后路。