刘黑闼漳南人,最开始在李密手下,后来归降王世充,最后又投降窦建德。窦建德封他为汉东郡公,窦建德败亡之后,回到故乡务农。
窦建德在长安遇害后,其旧将范愿、董康买、高雅贤等人既忱惜建德被杀,又害怕王世充降后,部将不能保全。他们决定找刘黑闼共同起事。几人相约到刘黑闼住处,范愿简单将他们几人想要请刘黑闼出来领头起事的想法说了说,刘黑闼先是谦虚地推让了一番,又经高雅贤劝说,表示乐意共同努力。他们于是宰杀耕牛,一同共饮而盟,很快就聚众百余人。武德四年(621年)七月,刘黑闼等袭击漳南县城,杀了县官,将粮食分发百姓;然后,又找来原先在窦建德手下一起共事的旧党,不到几天就有几千人前来会合。他们后来又乘胜进攻,占据了好几个州县。
刘黑闼自称大将军,继续向东进军,各州土豪都来归附,一时山东境内大乱。
高祖本来正要南下江陵巡视,听说刘黑闼起事,只得派了淮安王李神通会同幽州总管李艺一起前去镇压,但都被刘黑闼打败,著名的将军罗士信还阵亡了。
与此同时,唐境内几乎所有窦氏部将,都纷纷争相杀害唐朝的官吏,以响应刘黑闼,黑刘闼的势力眼看一天比一天强大。
高祖甚为着急,不得不再派秦王世民和齐王元吉,共赴山东讨伐刘黑闼。
然刘黑闼终究还是敌不过大唐,相持六十多天后渐渐支持不住,最后被李世民用水淹之计大败,仅带了两百余骑兵匆匆脱身。因无路可走,只好往北投奔突厥去了。
李世民击走刘黑闼之后,正欲向山东兖州进发,攻打另一支叛军徐圆朗,却忽然有朝廷使者来请他回朝。李世民便将战事交代给弟弟李元吉,就回长安了。
李世民见到高祖后,将攻打徐圆朗可能取胜的有利条件讲了一番。高祖又派他回到黎阳,等到李世民的大军接连拿下十余个城市,高祖的诏书又下来了,命令他迅速班师。李世民只得遵命,走时命令淮安王李神通和行军总管李世勣尽快进攻兖州。
谁知就在这时,败走的刘黑闼,居然到突厥借到兵,卷土重来,大举进犯山东。淮安王李神通不得不集中军队进行防御。同时,幽州的总管李艺也奉命协助抗击刘黑闼。但刘黑闼攻势猛烈,而以前的老部下曹湛和董康买等人,本亡命在外,此时也聚众前来会合。刘黑闼先后攻下定州和瀛洲,瀛洲刺史马君武被杀害。李神通自知不能抵抗,急忙请求增派援兵。
于是高祖命令淮阳王李道玄为河北道行军总管,与行台民部尚书史万宝一起讨伐刘黑闼。李道玄才十九岁,年轻气盛,当即带兵三万直奔下博,并约史万宝一起前进。
史万宝只是含糊答应,私下却对部将说:“淮阳王轻躁冒进,如果与他同时发兵,一定会全军覆没。不如让他前去诱敌,一旦失利,敌方必定追击,我们只需待在原地不动,就能将其打败。”随即发布命令,命令不准任何人轻举妄动。
而李道玄却满以为史万宝很快也会出发,协同自己作战,于是带领部队大胆前进。走了不多远就遇到一条沟,李道玄将马一夹便跃了过去。部下也紧随其后,陆续越过横亘在前面的壕沟。但过沟者刚刚半数,那刘黑闼已经带着黑压压的一队兵,漫山遍野地出现了。
这突然袭击使李道玄根本来不及整队,难免有些惊慌。但已然遭遇上了,只有不顾性命之忧,冒死抵抗。说时迟,那时快,瞬间刘黑闼就将道玄及部分唐军围在中央。李道玄仗着自己的勇猛,一面带兵左冲右突,一面大喊杀敌。无奈敌军越聚越多,冲开一层,又上来一层,层层不绝。眼看手下士兵一个个都被杀下马来,李道玄自己也受了重闯,最后干脆向敌人最多的地方冲去。
奋力杀掉数十人后,十九岁的行军总管李道玄大吼一声,喷血而亡。部队失去主帅,自然很快溃不成军,一大半都被刘黑闼手下杀死。
到这时候了,那史万宝才整队出来迎战。却只见从前线溃散的士兵,纷纷往回逃窜,而后面紧紧跟着刘黑闼的大批追兵。放眼一看,这些追兵全是雄赳赳的壮汉,手持亮晃晃的利器,大约有四五万之众。史万宝不由得害怕起来,但好在还并未吓退,仍下令作战。可是队伍却不听指挥,不但不依令前进,反而往后倒退,此时史万宝也没了主见,只好也策马向后奔逃。
刘黑闼带人乘势追击,好似泰山压顶一般。未及逃走的唐军,都白白地送了性命。
前线失败、李道玄战死的消息很快传回长安。李世民听后不禁欷觑:“道玄曾经跟随我到处征战,常见我深入敌阵,如今他也不顾厉害地冒险杀敌,谁会想到竟然因此送了性命啊!”一面说着,一面流泪。
高祖也甚为淮阳王之死而难过,追赠其为左骁卫大将军。
自从李道玄败亡之后,唐任命的洺州(治今河北永年东南)州总管庐江王李瑗弃城西逃,各州县再次向刘黑闼投降归附。不到半月,刘黑闼就全部收复了失地,仍然以洺州作为都城(窦建德的夏国曾建都于此)。
此时还在山东境内的齐王元吉和淮南王李神通,均畏畏缩缩、不敢向前。高祖很想再派李世民出征,心中却又有些迟疑,事情就一天一天地延宕下去。正巧太子李建成主动请求到山东平乱,高祖顿时十分高兴,马上授他山东道行军元帅,所有河南河北各州,都受他统管。李建成领命后,高高兴兴地出发了。
原来,太子的洗马魏徵担心李世民谋求太子之位,建议李建成“主动出征以再建大功,并且结识山东豪杰”,李建成这才向高祖要求赴山东平乱,魏徵也一同随往。
李建成、李元吉一起合力对刘黑闼穷追猛打,终将刘黑闼捉住。李建成担心有人再来搭救刘黑闼,在洺州将其斩首。刘黑闼临死时想起前因后果,禁不住感叹道:“我本来在家中种菜,却被高雅贤等人叫出来复仇造反,现在终于惹上杀身之祸。唉,悔之晚矣。”此时是武德六年(公623年)正月。