621年7月,唐高祖下令将窦建德斩首,又强征窦建德旧将范愿、董康买、曹湛、高雅贤、王小胡等人到长安。范愿等人既愤窦建德被杀,也鉴于王世充降后,部将不能保全。于是决定起兵反唐,并通过卜卦问得知奉姓刘的为主能够成事,就去找窦建德旧将刘雅。
刘雅认为天下已平,不愿起事。范愿等怒斥刘雅不义,杀之而去。又找到刘黑闼,陈说因由。刘黑闼大喜,杀牛会众,招得百十号人,一举袭破漳南县城。后又大败贝州刺史戴元详、魏州刺史权威,尽收其器械及余众二千人。8月11日,刘黑闼在贝州漳南设坛,祭奠窦建德,自称大将军,正式大举起兵。
刘黑闼
9月13日,刘黑闼攻陷历亭,屯卫将军王行敏战死。窦建德故将旧吏纷纷杀死唐朝官吏,响应起义。9月17日,深州人崔元逊杀其刺史裴晞,叛附于刘黑闼。唐兖州总管徐圆朗也起兵响应。
9月,刘黑闼大败淮安王李神通、幽州总管罗艺联军。10月26日,刘黑闼攻陷瀛州,抓获刺史卢士睿,又攻陷观州。622年1月6日,刘黑闼攻陷定州,杀死总管李玄通。1月14日,杞州人周文举杀其刺史王孝矩,投降刘黑闼。
1月19日,刘黑闼攻陷冀州,杀总管麹棱。1月28日,刘黑闼在宋州击败左武候将军李世绩,生擒薛万均兄弟,兵势大盛。突厥颉利可汗也派人马来援。唐廷震动,2月1日,派秦王李世民、齐王李元吉征讨刘黑闼。刘黑闼兵锋不减,2月3日―5日,三天之内又接连攻陷邢州、魏州、莘州,杀魏州总管潘道毅。半年之间,便全部恢复了窦建德原先的地盘。
秦王李世民率军讨伐刘黑闼, 军队驻扎在卫州,刘黑闼多次派兵挑战,都被唐军挫败。刘黑闼害怕,放弃相州,撤退到列人营设防守卫。这时洺水县的人要求当刘黑闼的内应,李世民派遣总管罗士信进城据守,刘黑闼又攻克洺水县城,罗士信阵亡,刘黑闼于是据守洺州。
罗士信作战勇猛,带兵有方,治军严格,赏罚分明,行军作战身先士卒,深得部下拥戴,部下作战时均能尽力用命。随秦王攻伐王世充,屡战屡胜,名震一时。因功授绛州总管,封郯国公。平定王世充之后,罗士信再从秦王镇压刘黑闼义军。622年在洺水城的防御战中,罗士信一军陷于义军重围,城破被俘拒降,为刘黑闼义军所杀。
罗士信
623年正月初五,刘黑闼逃到饶阳时,跟着他的才一百多骑兵,大家都饥肠辘辘,想进城弄东西吃。刘黑闼委任的饶州刺史诸葛德威出城大礼迎接,请他们进城。刘黑闼开始不同意,诸葛德威假装真诚恭敬,哭着坚持邀请。刘黑闼才走进城门,诸葛德威就指挥部队拘捕了他,送到李建成面前。二月,李建成在洺州将刘黑闼及其弟刘十善一并斩首,山东平定。