第二天,吕布带兵前来劫粮,曹操将队伍带到大堤后面,兵分两路,弓箭手和步兵在堤前列阵,精锐骑兵在堤后埋伏。
曹操先派出步兵方阵,步兵一手拿着长矛,一手举着盾牌走在前面,弓箭手举着盾牌跟在步兵后面,前排步兵看到吕布的骑兵冲到了弓箭手的射程之内时,突然蹲下,第二排的弓箭手全体起立一齐将早就拉满的箭射出,射完之后立马蹲下,第三排的弓箭手迅速起立将箭射出,在轮番箭雨的攻击下,吕布的骑兵纷纷中箭落马,曹操命令步兵迅速出击。吕布见状,也命令所有步兵出击,双方短兵相接,缠斗在一起。
曹操见先发的部队把吕布的部队全部引出来了,还杀伤了吕布部队的不少主力,曹操突然鸣金收兵,让战场上还在作战的步兵和弓箭手边打边撤,吕布以为曹军怂了,又想重复昨天的故事,让他以为大堤后面有伏兵,吓得不敢追,吕布这次不信邪,命令步兵和骑兵一路猛追,一直追到堤坝附近。曹操令旗一挥,埋伏在大堤后面的精锐骑兵个个手拿长矛,从堤上冲下来,如猛虎下山,势不可挡,吕布没想到今天大堤后面真的有伏兵,吕布的部队在曹军精锐骑兵的轮番冲击下,被刺的人仰马翻,吕布大败!
此战过后,叛军的主力被消灭了,吕布、张邈、陈宫去投奔刘备;张超带领自家老小和哥哥张邈的全家老小退守雍丘,雍丘是叛军最后的根据地,收复了雍丘,兖州全境就全部收复了!
曹操这次没有急于求成,他让部队休整了一段时间,准备了可供大军用五个月的粮草,然后亲率大军进攻雍丘。张邈得知曹操大军来攻打雍丘,亲自去找袁术搬救兵,在半路上被自己的手下给杀了。
张超率领全体守城将士殊死抵抗,高喊“城在人在,城破人亡”的口号激励将士们的士气!曹军由于没有有效的攻城装备,攻打了好几次都无功而返!
曹操命令士兵将雍丘城团团围住,围而不打,截断雍丘城的粮草供应通道,瓦解雍丘城守军的意志!在围城四个月后,雍丘城内守军因粮草短缺,一些饥饿疲乏、意志薄弱的将士坚持不下去了,主动打开城门投降,曹军涌入城内,攻下了雍丘城,破城后,张超自杀!
至此,自194年初陈宫、张邈联合吕布叛乱到195年年底屠灭张超家,历时近两年,曹操收复了兖州全境,终于把后院的大火给灭了!