劉公顯是揭陽縣霖田都石坑村(今屬揭東縣龍尾鎮)的客家人。少習武藝,後中武秀才。明末,清兵壓境,朝廷無能,官紳肆虐,劉公顯開始秘密結黨聚義,於清順治二年(1645年,弘光元年)六月在揭陽霖、藍兩都起兵,大本營設於南塘山。部屬有“九軍”,時人稱為“九軍起義”。九軍將領曾銓、馬麟、馬殿、馬登、傅達、邱瑞、黃甲、呂忠、呂玉與主持東、西、南、北四軍之潘俊、陳雲、陳汝英、陳侃及都軍溫韜魯、大將吳元、二將曾懋昭等,合稱為“十八虎將”。因公顯姓“劉”,故定朝號為後漢,建元大升。
九軍起義初期,集中兵力攻打揭陽城。潘俊率領東軍多次強攻縣城東門,城內官兵日夜守御,難以攻取;公顯改用迂迴夜襲,於順治三年(1646年,隆武二年)九月十一日凌晨,由仙河村(今新河村)橫渡北溪,潛伏城門外,乘守兵防護稍松,即攻破進賢門,占領揭陽城。他隨後投靠了南澳的鄭芝龍(南明隆武政權實權人物)部將陳豹,十月二十日,陳豹奉隆武帝聖旨封公顯為左軍都督,鑄鎮國將軍印,並改揭陽縣為都督府,九軍各將領俱署都督門牌為東西轅門數十處。自此聲威大震。但九軍入城後,濫殺城內百姓,樹敵太多。
是年冬,清軍第一次進入廣東,劉公顯投降。 他在隨清軍征肇慶時藉故遁回揭陽,棄城歸山,繼續稱霸一方。順治五年(1648年,永曆二年)四月,因福建糧荒,在福建抗清的鄭鴻逵(鄭芝龍之弟)率舟3000餘人,艨艟大小300餘只,至潮陽港口,劉公顯前往迎接,引大軍再次占據揭陽,定縣城為閩師軍營。順治六年(1649年,永曆三年)又迎鄭成功(鄭芝龍之子)大軍來揭。
劉公顯多次想攻取潮州府城,未能成功。順治六年(1649年,永曆三年)八月二十六日,劉公顯所率九軍聯合鄭鴻逵水師與潮州府總鎮郝尚久之府兵大戰於鋪前(今炮台鎮區),自辰到酉,大炮相攻,彼此擊死千餘人,府兵自忖難以堅持,遂採取“圍魏救趙”之計,調兵襲擾揭陽城。劉公顯得情報後,將計就計,由鄭鴻逵率水師乘夜回護縣城,以此麻痹府兵。二十九日,劉公顯兵力單薄,敞開寨門迎戰,鄭鴻逵已秘密回師助劉公顯,揮兵全線進擊,府兵措手不及,不能抵擋,圍寨銃城木柵盡毀,九軍大獲全勝。
順治八年(1651年,永曆五年)正月,鄭氏勢力退回福建,揭陽受到第二次進入廣東的清軍威脅。四月,公顯帶領馬麟、傅達等將領及隨從10多人,秘密進入府城對清總兵郭虎進行策反,因事機不密,為總鎮班志富、郝尚久發覺而被捕;五月初六日,不屈而死。十六日,府兵數萬圍攻九軍根據地鴛鴦寨,守軍拒守8個月,糧盡援絕,舉火自焚,全部死亡。