1854年(清鹹豐四年)入湘軍水師為哨官,後升營官,在湖南嶽州(今嶽陽)至江西湖口段長江屢戰太平軍水師。 1856年奉湖北巡撫胡林翼命招募陸勇3300人,號稱霆軍,是湘軍中最兇悍的壹支,為胡林翼所倚重。 1857年,阻擊太平軍陳玉成部於鄂東黃梅、廣濟(今武穴西北)等地,每戰皆有進無退。次年,進圍太平天國西線重鎮安慶(今屬安徽),後以李續賓部在三河之戰中被殲,西退宿松。 1860年春,在與太平軍陳玉成部作戰中,以空心方陣、連環槍法,拼死攻占安徽太湖。後隨曾國藩進駐皖胡林翼
南,所部增至6000人。10月,太平軍開始二次西征,皖南祁門曾國藩大營告急,率所部由休寧冒死往救,挽回危局。次年春,被曾國藩派為贛皖遊擊之師,轉戰贛東北饒州(今波陽)等地,機動應急。4月,援助湘軍曾國荃部攻安慶,破赤岡嶺4座太平軍堅壘。6月,赴江西,堵截李秀成部太平軍攻南昌,並敗之於撫州、貴溪。 1862年(清同治元年)春,由贛北入皖南,占寧國(今宣州),積極配合湘軍曾國荃部進攻太平天國都城天京(今南京)。升浙江提督,所部擴編到1.3萬余人。 1863年5月,督師再入皖北,連占巢縣、含山、和州(今和縣)等地,使太平軍“進北攻南”以救天京的計劃落空(見天京保衛戰)。 1864年夏,因湘軍合圍天京,外圍各路太平軍紛紛入贛,奉命援江西。8月後,以前後夾擊、包抄分割的戰法連敗太平軍汪海洋部於撫州,並迫降陳炳文部太平軍6萬余人。 1865年3月,所部因不欲遠征新疆,於湖北金口(武昌西南)嘩變,遂奉命改赴廣東,參與擊滅太平軍余部於嘉應州(今梅縣)。 1866年2月,與淮軍之劉銘傳部夾擊東撚軍於湖北京山尹隆河,轉敗為勝(見尹隆河之戰)。戰後因與劉銘傳爭功,負氣離營回籍,所部被遣撤。 1880年(清光緒六年),以中俄伊犁交涉緊張,奉命出任湖南提督,募兵1.4萬駐防直隸樂亭(今屬河北),旋裁歸。 1885 年中法戰爭中,再奉詔募勇1.3萬赴雲南,旋和議成,又被裁歸。