董卓死后,长安大乱。董卓部将被王允逼得无路可走,于是起兵反抗,杀死王允,逼走吕布。董卓部将李傕、郭汜听从谋士贾诩的劝谏,安抚百姓,朝廷稍微有些生机。可是青州黄巾又起叛乱,朱隽保举曹操领兵破黄巾军。
曹操没用百天就平定了黄巾,收降卒三十万人,曹操拣精锐的士卒组成了青州兵。曹操驻军兖州,开始招贤纳士。没过多久,就有荀彧、荀攸叔侄来投,又来了程昱和郭嘉。后来刘晔、满宠、吕虔、毛玠、于禁、典韦纷纷来投。曹操兵强马壮,就派人到琅玡郡去接他父亲曹嵩。
曹嵩接到书信,就领着一家百余’投奔兖州,路过徐州,徐州太守陶谦,字恭祖,正想讨好曹操,派都尉张闿引五百兵护送。半路上遇到大雨,一行人就找了个古寺休息。曹嵩让人整理行李,却被张闿看到车里装的金银珠宝。张闿与手下商议,当夜一齐动手,杀死了曹嵩一家,抢了财物,放火把古寺烧了。
曹操得知消息,哭得昏天昏地,醒后咬牙切齿要洗荡徐州,就领夏侯惇、于禁、典韦率军杀往徐州,所过之处,杀得鸡犬不留。陶谦听说,仰天大哭。陶谦回城要亲自到曹营谢罪,以救全城百姓,糜竺建议到北海请孔融救援。
北海太守孔融,字文举,是孔子的二十世孙,使者向孔融求救。孔融说:“我和陶谦是朋友,我和曹操也没冤仇,先给你们从中讲和吧。”
正商议间,下属来报,黄巾军管亥把北海城团团围住,孔融无法可想。孔融帐下有一人名叫太史慈,为报孔融照顾老母之恩,单枪匹马杀出重围,前去请救兵。太史慈来到平原,同刘备说明情况,刘备就与关、张直奔北海。关羽劈死管亥,孔融从城里杀出来,两面夹攻,黄巾军大败。孔融请刘备同去救徐州,刘备先去找公孙瓒借兵,又借来赵云,来到徐州。曹操见来了军马,也不敢再攻城。刘备怕城中缺粮,就与张飞领一千人杀进曹营。于禁出马,被张飞杀得大败。陶谦见了旗号,开城迎接刘备。陶谦一面设宴款待刘备,一面犒劳军士。忽然,陶谦捧出徐州大印,要把徐州让给刘备,刘备认为此时若接受印信,害怕天下人耻笑,扭扭捏捏推辞不受。陶谦却是真心实意,左说右劝,刘备一味假装推辞。糜竺说:“先退了曹兵再说这件事吧。”刘备派人给曹操送信,从中讲和,让曹操退兵。曹操却认为刘备在讽刺他,准备竭力攻城。郭嘉劝道:“主公先好言回答,让刘备不加戒备,然后再攻城。”曹操与众人正商量如何给刘备回信,探子快马来报,说吕布攻占了濮阳,断了曹操后路。曹操害怕无处可归,郭嘉说:“我们现在正好退兵,就算卖个面子给刘备。”
陶谦见曹操退兵了,把刘备等人请进城,盛筵款待。之后,陶谦又请刘备上坐,再次要把徐州让给刘备。众人一齐劝说,关羽、张飞也认为刘备应该接受,刘备认为现在接受徐州,乘人之危,人心不服,便假意推脱。陶谦没有办法,就把小沛让给刘备驻守。赵云要告辞,刘备拉着赵云的手,很长时间都不放开。
曹操回兵救援,吕布自大不听劝告,曹操把失地又都收复回来了。吕布死战逃脱,折了许多人马,退回城中坚守不出,曹兵无粮,也退回城中,双方暂时罢兵。
陶谦已六十三岁了,身体多病,就请糜竺、陈登议事。为了保护徐州百姓,陶谦决定把徐州让给刘备,刘备不受。陶谦第三星次提出要让徐州,刘备问:“你为什么不传给你的儿子呢?”陶谦说自己的儿子不能担当重任。刘备仍是假意推辞。陶谦以剑指心而死,众军举哀,百姓痛哭。糜竺给刘备送去印信,刘备仍不接受。第二天,糜竺又去,关、张也让他接受,刘备觉得时机成熟了,就高兴地答应了。
曹操得报大怒,说:“我要先杀死刘备,再鞭打陶谦的尸体!”就要下令再次攻打徐州。荀彧劝道:“若再打不开徐州,吕布又来犯,主公就真的无家可归了。现在不如前往陈地,先消灭了黄巾军夺得军粮再说。”曹操同意了,亲自领大军先到陈地,再去汝南、颍州。
曹操打败黄巾军,又得了猛将许褚,就班师回鄄城,又乘得胜之师,夺回了兖州,进军濮阳。吕布要迎战,陈宫建议待众将到齐后再出战。吕布说:“我怕谁?”出马大战许褚、典韦。二人不能打败吕布,夏侯惇、夏侯渊、李典、乐进一齐杀过来。吕布架不住人多,只好败回,却见内奸田氏已关上城门,说:“我已投了曹公了!”吕布只好落荒而逃。陈宫保住吕布家属也逃出来,山东全境都被曹操占领了。
吕布聚集众将,要再跟曹操决战。陈宫劝吕布先找地方安身,吕布要再投袁绍,陈宫让派人先探听袁绍的意图。袁绍得知吕布与曹操大战,就派颜良率兵去助曹操。陈宫提议不如到徐州去投刘备,吕布就到徐州来了。刘备认为要不是吕布袭兖州,曹操就不会撤兵,便收留了吕布。