担任总督直隶的三千营提督祖宽亲自率领神机营提督陆澄,保定总兵刘国柱,河间总兵彭友谟,真定总兵牟文绶五路明军主力全面出击,很快他们就打得在直隶南部活动的农民军各部是全线崩溃,八大王张献忠带着本部残兵败将逃走,但是深知张献忠危害的祖宽命令各路明军去全力追击张献忠,很快张献忠就被迫带着麾下残部逃入大名府。
此时张献忠的情况已经窘迫到了极点,他之前幸幸苦苦重新集结的老营再次崩溃,而且由于这次张献忠遭遇了拥有大量骑兵的关宁军追击,这导致他根本无法摆脱明军的追击,最终甚至连他的义子刘文秀和艾能奇都被明军骑兵打散,他们俩虽然对张献忠也算是忠诚,但是经过这次惨败他们也不敢继续在直隶跟关宁军交战,他们只能带着跟随他们的残兵逃亡河南。
张献忠见明军来势汹汹本来也想回河南,结果此时小袁营投靠明军的噩耗传过来了,此前袁时中就一直想要被大名朝廷诏安,陆澄得知这个情况后立刻说服祖宽诏安袁时中并且任命他为彰德总兵,袁时中本来觉得自己能在之后当上参将就很满意了,所以他得知关宁军任命他为彰德总兵非常高兴,他立刻带着小袁营宣布归顺朝廷并且封锁了大名府,他还趁机起兵俘虏大量逃亡河南的农民军残部,更重要的是这下张献忠退入河南的计划泡汤了,刘文秀和艾能奇见状只能逃到开封府。
面对明军的穷追不舍张献忠决定要向东窜入山东,为此他命令义子李定国率部到东昌府接应他,李定国见状赶紧率领本部人马向东昌府挺进,然而此时张献忠的行动已经被鲁国公孔有德所部发现,孔有德立刻判断李定国肯定要出兵跟张献忠会和,此前他一直在计划抓住李定国指挥的农民军精锐,但是鲁军的追击始终被李定国主力甩开,这次孔有德立刻集结麾下鲁军直扑李定国。
李定国见状只能率部硬着头皮前去应战鲁军,孔有德先命令鲁军步兵列阵跟李定国部展开交战,鲁军步兵里有部分鲁军主力和近卫军士兵,但主要还是狂热的山东天主教民兵,他们虽然训练不太好但是作战意志非常的狂热,李定国率领麾下精锐拼死抵抗菜勉强挡住鲁军步兵,结果此时孔有德率领近卫骑兵和鲁伊上校率领的葡萄牙军队突然从两翼杀出,孔有德本来就是辽东将领自然很熟悉骑兵,结果很快李定国所部农民军直接被毫无悬念的打崩了,孔有德率领麾下鲁军各部连续追击四十公里,鲁军直接把李定国直接赶出了山东,经过此战李定国的精锐损失殆尽已经无力进入山东。
于是张献忠进入东昌府后直接遭遇了孔有德亲自率领的主力军队,面对孔有德麾下的近卫军骑兵农民军瞬间全面崩盘,张献忠急忙带着卫队残余想要继续逃窜,但是孔有德的近卫骑兵却穷追不舍,最终鲁军近卫骑兵把张献忠的残部包围在了丘县,张献忠之后多次率领士兵突围但是都没有能成功,而且孔有德对他的请降信也毫无反应,毕竟张献忠的恶名已经是路人皆知了。
最终孔有德出动红衣大炮炸毁了丘县城墙,鲁军士兵立刻疯狂杀入城中发动进攻,而张献忠最终也在丘县里面死于乱军之中,他的首级被近卫军士兵割了下来,至此横行天下十几年的张献忠战死,张献忠死后孔有德把俘虏的张献忠残部全部处死以泄愤,然后他还调集鲁军直接开始前去反攻河南,由于圣战的号召鲁军天主教教徒士兵都非常狂热,他们在淇县,胙城,封丘,兰阳打着消灭异教徒的旗号开始大肆展开了屠戮,结果有数万农民军俘虏遭到他们无情的处决,而大量民众纷纷逃到彰德府寻求归顺朝廷的彰德总兵袁时中的庇护。