东汉末年,曹操挟天子以令诸侯,到处讨伐不归附自己的势力。当时徐州牧为陶谦,因不服曹操而屡次遭到曹操攻打。陶谦频繁被攻打,对曹操生出了无限恨意。但曹操势大,陶谦没有能力报仇。
不久之后,曹嵩和儿子曹德在琅邪躲避战乱,曹操命令泰山太守应劭迎接曹嵩到兖州。这里的曹嵩,便是曹操的父亲,而曹德则是曹操的兄弟。至于兖州,则在徐州的北边,曹嵩父子回归兖州必回途径徐州。
得知曹嵩父子即将过境的消息,陶谦大喜过望,心想:杀不死曹操我还杀不死他父亲么?于是,陶谦派遣骑兵截杀曹嵩父子。
曹嵩父子被杀的详细情况主要有两种说法:一是说陶谦的一个驻守在阴平县的部将,其士兵贪图曹嵩的财产,于是在华县与费县的交界处发动袭击,杀死曹嵩和他的小儿子曹德。二是说陶谦派部将张闿护送曹嵩,但张闿贪图曹嵩资产而将其杀害。
不管是哪种说法,都说明曹嵩父子是陶谦麾下兵将所杀。我们可以猜测,陶谦作为汉朝的官员,为了名声肯定不能明目张胆地截杀曹嵩父子。因此,陶谦极有可能演了一出杀人夺财的戏码,既保住自己的名声,还报了屡次被曹操攻打的仇恨。不管实际情况如何,曹操和陶谦算是彻底结怨了。
一段时间之后,曹操以替父报仇为由,起兵讨伐陶谦。当时袁绍还没有和曹操彻底决裂,因此还派遣部将朱灵督三营军相助。
战事一起,曹操先后攻拔十余城,曹将于禁攻克广威(沛县东),沿泗水直至彭城。另派前锋曹仁攻打陶谦部将吕由,破敌之后与曹操合兵。陶谦引军迎击,却遭遇大败,只得逃离彭城,退保东海郯城。陶谦退走后,曹操乘机攻破彭城,傅阳。
当初,各地流民依附陶谦,大多数都在在彭城。此次遇曹操大军,这些流民全都遭到杀戮,数万(一说数十万)人被驱赶到泗水河中淹死,尸体阻塞了河道,致使河水都不能流动。
彭城被破之后,曹操继续向东北攻费、华、即墨、开阳,陶谦一面坚守郯城,一面派遣别将救援被曹军围攻的其他县城。但曹操兵势强盛,陶谦只能向青州刺史田楷求援。
久攻不下郯县,曹操便转而攻取虑、睢陵、夏丘三县,所过之处全都遭到屠戮,鸡犬不留,旧城废址被屠戮殆尽。最终,田楷与刘备的援军赶到,帮助陶谦击退了曹兵。当然,也是因为曹兵粮尽,要不然击退也是非常困难的。
这次,刘备救援徐州立了大功,陶谦表刘备为豫州刺史,屯兵小沛。从这时候开始,刘备终于有了自己的地盘。
没过多久,曹操筹集了足够的军粮,再次进攻徐州。曹兵先拔五城,遂略地至琅邪、东海。回军经过郯城,徐州将领曹豹与刘备屯兵郯东,邀击曹操,被其击破,曹操随即西拔襄贲,所过之处多所残戮。
陶谦眼见日暮途穷,打算逃回老家丹阳躲避。正在这时,陈留太守张邈背叛曹操,与其弟原广陵太守张超迎吕布入兖州。曹操为平定叛乱,只好回师。就在同一年,陶谦病逝,享年六十三岁。
随着陶谦病故,曹操与陶谦的仇怨算是烟消云散了。不过,曹操有着一统天下的野心,徐州最终还是归了曹操所有。也就是说,陶谦终究是输了,曹操成了最后的赢家。