刘黑闼他与李世民整整对峙了接近两个月,粮草将要耗尽,后续的粮草,在运输的途中,又被程名振给烧毁了,终于沉不住气了,一天,他暗中派出大军偷袭李世绩的军营,想力图拔掉这颗洺水河北岸的眼中钉。
刘黑闼的军队和李世绩率领的军队打起来后,李世民率领军队绕道到达刘黑闼军队的后面冲杀,以图可以救援,结果被刘黑闼的军队团团围住。
尉迟敬德率领着壮士急忙的奋力杀入重围,将李世民、李道宗等人救了出来。双方损兵折将,都退出了二里地,维持原来的状态。
李世民得到程名振切断刘黑闼粮食运输这个好消息后,估计刘黑闼军营里的粮食也快耗尽了,刘黑闼一定会来决战。就预先在洺水河上游建立大的水坝蓄水,并且对守卫大坝的官吏说道:当我打击刘黑闼敌军的时候,等到敌军渡过洺水河一半儿的时候,打开大坝放水。
5月11日,刘黑闼率领步兵、骑兵2万人向南渡过洺水河,向大唐军营,摆开阵势,以图决战。
李世民先率领精锐骑兵,打败刘黑闼的骑兵,在趁着胜利回过头来,打击敌人的步兵,夺取了战场的主动权。
刘黑闼率领大军殊死搏斗,从中午一直打到黄昏,终于抵挡不住了,全军败退,想要渡过洺水河向北方逃窜。正当渡过洺水河一半的时候,守卫大坝的官吏,已经打开了大坝,洺水河汹涌而下,浪头高达一丈多高,立刻淹死了几千人。其余的来不及渡过洺水河的敌人,全部被大唐的军队围困的消灭了,打死了一万多人。只有刘黑闼、王小胡、范愿等200多人骑着马,事先渡过洺水河,得以逃脱。
刘黑闼逃窜后,大唐军队趁着胜利,夺取了洺州城,进而平定了黄河以北地区。
李世民打败刘黑闼之后,马上率领大军南下讨伐徐圆朗,李世绩随同南征。走到了半路,李世民奉诏书,奔驰着进到了京城长安,唐王李渊亲自到长安城东的长乐坂迎接。
李世民向唐王李渊汇报了战况,又说明了徐圆朗的形势,唐王李渊本想让李世民去做别的事儿,听到李世民分析之后,认为还是由他督军进行讨伐最为合适,于是又派他回到黎阳仓城,会合大军赶赴曹州济阴。
徐圆朗当时占据以兖州为中心的山东中部地区,听说刘黑闼战败后,一度惊恐万状,不知如何是好。后来在部下的蛊惑下,在自己头脑中帝王思想的驱动下,竟然利用山东名人刘世彻的威望,接连攻下了谯、杞两个州,气焰十分嚣张。
武德五年(622年)七月,李世民率领大军从济阴向东出发,向徐圆朗发起全面进攻,接连攻下了十几座城池,李世民见到淮、泗之间大致平定,便命令淮安王李神通、行军总管李世绩、任环等人继续围攻徐圆朗,自己则班师回朝。
这时,李世绩受命为齐州总管,率领齐州管内的唐军向南进攻兖州。
任环当时任河南道安抚大使,徐圆朗占据的兖州反叛,他正在宋州。当徐圆朗攻下楚丘之后,他成功的组织了,虞城保卫战,挡住了叛军的扩张。他率领大部队从宋州向北进攻兖州。