劉十善初割據勢力之一的劉黑闥之弟。

唐高祖武德五年(622年)三月,劉黑闥派遣劉十善和行台張君立率軍一萬,在鼓城縣(河北省晉州市)襲擊唐幽州總管李藝羅藝)。三十日,雙方在徐河(今河北保定東北)交戰,劉十善、張君立大敗,損兵八千。十七日,李世民收復邢州(治龍岡,今河北井陘西北)。三月,李藝又攻取劉黑闥佔領的定(治安喜,今河北定州)、樂(治今河北隆堯東)、廉(治今河北藁城)、趙(治平棘,今河北趙縣)四州,俘獲尚書劉希道。洺水縣人李去惑見狀,據城降唐。十月五日,貝州(河北省清河縣)州長許善護跟劉十善在覦縣(山東省夏津縣)會戰,許善護全軍覆沒,觀州刺史劉會以城叛投劉黑闥。十一月二十二日,唐齊王李元吉派軍在魏州(河北省大名縣)擊敗劉十善。武德六年(623年)一月初五至饒州(今河北饒陽),從者僅百餘人,欲入城求食,饒州刺史諸葛德威假意出迎,劉黑闥入城時,諸葛德威送來大量食物,黑闥過度飢餓而放鬆警戒,德威以伏兵突襲,劉黑闥受傷被擒,諸葛德威執黑闥投降唐軍,李建成遂斬殺劉黑闥及弟劉十善等於洛州,首級傳送長安。