八月二十二日,劉黑闥攻陷曆亭縣,殺害了唐屯衛將軍王行敏。曾在竇建德時期當過深州刺史的崔元遜及其幾十名同黨,埋伏在蓋滿稻草的車上,直接衝入州府衙門,殺了唐任命的深州刺史,割下首級送給劉黑闥。
十月六日,劉黑闥攻陷瀛州,殺死唐瀛州刺史盧士睿。觀州老百姓捉住刺史雷德備,以城歸順劉黑闥。毛州百姓董燈明等人暴動,殺死刺史趙元愷響應劉黑闥。
十一月十九日,劉黑闥攻陷定州,捉住唐總管李玄通。劉黑闥愛惜他的才能,想任命他為大將,李玄通不從命。他原來的部下送給他酒肉,李玄通說:“各位可憐我身受囚禁之辱,幸以酒肉來開導安慰我,我要與各位一醉方休。”酒喝到興頭上,李玄通對看守說:“我能舞劍,希望把刀借我用一下。”李玄通舞完後舉刀剖腹而死。二十七日,杞州人周文舉殺死刺史王文矩,響應劉黑闥。
饒陽崔元遜襲占深州,殺刺史,響應劉黑闥;兗州徐圓朗已經降唐封魯國公,現又和劉黑闥聯合,自稱魯王。各州豪強,紛紛起事,劉黑闥勢力逐漸強大,淮安王李神通等合並出戰,皆被打敗。劉黑闥接著攻陷瀛州,殺刺史,再攻陷定州,總官自殺,陷冀州,殺刺史。
趙、魏境內,所有竇氏故將爭殺唐吏。十二月三日,劉黑闥攻陷冀州,殺唐刺史骴棱。黎州總管李世勣駐崇城,聽劉黑闥來攻,自以為抵擋不住,急忙退往洛州,路上被追殺,5000人一個不剩,隻身逃走。不到半年,劉黑闥收複了竇建德故地。
武德五年(公元622年)正月,劉黑闥自稱漢東王,改年號為天造,設都城於洺州。竇建德時期的文武官員全部恢複了原來的職位。劉黑闥的法令行政,全部效法竇建德。
武德五年正月八日,李淵非常著急,隻好再派秦王李世民、齊王李元吉出兵山東,討伐劉黑闥。開始了在唐初統一戰爭中指揮的最後一個戰役。
秦王李世民先奪回相州(今河南安陽)。麵對唐軍的強大攻勢,劉黑闥退守洺州。十四日,李世民再進軍肥鄉,在洺水南岸紮下營寨,步步緊逼,列陣於洺水附近,與劉黑闥軍營相對而紮。
唐幽州總管李藝(原名羅藝,隋末任虎賁郎將。武德元年歸唐後,賜姓李,封燕郡王)率所部數萬人來和李世民會合。劉黑闥留範願守洺州,自帶精兵與李藝對陣。李世民派程名振連夜運六十麵大鼓,在城西二裏堤上,一齊擂響,鼓聲大振,響徹雲天,連城中都搖動起來。
範願大驚,派人飛報劉黑闥,劉黑闥迅速返回城,隻得派其弟劉十善、行台張君立,率兵萬人,到了徐河。正月三十日,雙方在徐河(今河北徐水縣)交戰,結果劉十善、張君立大敗,損失8000人。
同日,洺水人李去惑開城降於李世民軍,李世民派王君廓率1500名騎兵入城,和李去惑共守洺水。
二月,劉黑闥回師洺水,行至列人縣(今河北肥鄉東北),遭到秦叔寶的截擊,劉黑闥失利。十七日,李世民收複邢州(今河北邢台),李藝則奪占定、欒、廉、趙四州,抓獲劉黑闥的尚書劉希道,後與秦王會師於洺州。
劉黑闥進攻洺水,因城在水上,不便進攻,就從東北兩隅築兩處通道,以便靠近城牆。李世民帶兵前去支援,三次均被擊回,於是召集諸將商量。
李世民說:“通道將要築成,敵兵如到城下,城肯定不能守了,不如叫他們突圍出來,再商量破敵辦法。”話未說完,羅士信自請戰:“我願去守城。”
李世民說:“城已垂危,恐不能守。”
羅士信說:“城存吾存,城亡吾亡。”
李世民登上城南高塚,舉旗招王君廓回,派羅士信接應。羅士信率二百騎前往,君廓殺出,羅士信馳入,劉黑闥又把城圍住,接連八晝夜,羅士信衣不解甲,目不交睫,在城上督守。
忽然天降大雪。滿城皆白,目為之眩。劉黑闥乘機攻入。羅士信挺著長矛,刺殺頭目多人,身受重傷,飛馬奔回,因大雪彌漫,看不清路,陷入泥淖中被俘,英勇不屈而死。
三月,李世民與李藝於洺水城南紮營,以部分兵力屯於洺水之北。劉黑闥多次挑戰,李世民堅壁不戰,出奇兵切斷了劉黑闥的運糧道。
秦王李世民與劉黑闥相持其間,雙方都采取襲擾的策略打擊對方。
一次,劉黑闥陣中的高雅賢在營中喝酒,李世民派李世勣出兵襲擊,殺入高雅賢營中,高雅賢已經酣醉,上馬出戰,被李世勣部將刺中,墜落馬下,雖被部下救回,未回到營時就死了。