学使皆第一,补学官弟子。
  咸丰初,广西乱起,倡团击土寇有功,议叙候选县丞。于是云南回寇方俶扰;六年,以县丞率义勇入云南,从克赵州贼巢。将攻宜良之汤池,破之,遂克宜良;会参将何自清击路南贼,大破之,路南复。自克宜良,当事察公谋勇堪兵事,且任治民;即檄署宜良,复檄摄路南。督兵攻澂江,又兼行澂江府事。先后以功,赏戴蓝翎,留滇以知县用;擢同知直隶州,加运同衔。丁大母邓太夫人承重忧,奏留给假治丧,仍办军务。寻奉檄入回众,说马如龙。如龙心折公,即来归,尽献其所据城邑;公益推诚与相,结如龙委心。至于其后虽或入谗构,寻复感寤,卒得其力用。
  同治元年,代理布政使事,加按察使衔,换花翎。无何,回弁马荣贼杀总督,据省城反;公与诸弟率所部千余人保藩署及城东南陬,而密驰书如龙激以大义,趣赴援。如龙遂以夜至,内外衷击,尽殪诸贼,独马荣遁走曲靖;而省城复安堵。公既已定省城之乱,乃西出师。当是时滇中回寇充斥,其杜文秀尤凶狡,为诸贼最;凭苍洱上下关之险而窃据大理为巢窟,啸召数十万人,悖逆恣睢,放为不道,千里咸被其毒。公师出,行攻取诸近县,首路楚雄;而东路告警,即以兵东指,克沾益、平彝,仍西攻楚雄,克之。益西,克定远、大姚诸州县,至鹤庆、浪穹,且进规大理;而马荣与回酋马联陞再陷沾益、犯马龙,东路复告急。公不得已复还,大破贼联陞及荣,得诛之;遂克曲靖。曲靖,迤东大郡也,又粮道所由;既克,公则大喜,而楚雄以西所克城邑复皆沦陷。公乃壹意经营曲靖,筹军食、简兵马,为重固不可拔,与省城相辅;近峙东偏,隐然重镇矣。于是公乃以迤西巨寇延蔓,猝不可爬梳,自乱起以来,当事者谋不素定,东瞻西失、此捷彼挫,从贼而与为奔命,故讫无成功;今宜专意东讨,先治黔中猪拱箐之贼,绥定边境,稍以次讨平迤东南诸寇,东方靖而后楚雄以西乃可图也。会劳文毅公崇光自两广改督云贵,行次平彝;公迎谒,文毅询滇兵事,具以其意对,文毅则大韪之。于是乃遣马如龙出西路,而专属公以猪拱箐之役。猪拱菁者,居贵州威宁州境,其近接者曰海马姑;皆穹山巉峻,幽阻险绝。苗众十余万穴其中,时出攻剽滇、黔、蜀三省之间。屡合军攻讨,不能克;夙以为患。公既受任且发,而镇雄降贼叛,据州城;师出东道,应时讨破。先是,公已累功升用道员矣;既克曲靖,晋布政使衔,赏「勉勇巴图鲁」名号。及是岁同治五年,补授迤南道。明年正月,补授云南布政使。二月,公师次猪拱箐,所部五千人。黔、楚诸军之先至者望见之,以谓与贼众悬绝若是,且立熸,必无幸也;众相与目笑之。公则坚壁休士,而日密与诸将谋,计设间窥形;得其瑕衅,一旦纵奇捷出,深入其胸腹,万众崩沸。自二月始、至讫六月凡百二十有四日,而猪拱箐、海马姑之贼一铲殄绝;诸军诧服,相顾愕然。捷闻,赐头品顶戴。于是公且颁师还,而省城之急闻。先是,如龙兵出失利,杜文秀知公之远出也,悉众东犯,连陷数十城邑,进薄省城,人大恐。公闻急,驰还,道宜良、七甸以趋省城;所过连破贼垒数十,斩获万计。至则,益遣师出攻澂江及城西南州县,皆立破;而马如龙亦来会,驩然相约,戮力破贼,贼为气夺。然环城贼垒尚棋布如故,皆锢若金铁、阻若阱擭,牢坚不可撼动;援贼颷至,豕突震荡,不可当。我军尽锐力攻,死伤相继,而卒无如何;诸将苦之。公知贼狡悍,难骤与力搏;非旁出以挠之,势不可戢也。既以七年三月拜云南巡抚之命,乃分遣诸将出贼后,直捣迤西;益约结腾越、永昌、丽江诸豪杰与相援应,蜂午腾击,更进并举;贼惶骇,不知所为。公乃督将士亟攻城外诸垒,应手迸破;悍酋剧寇二十余万人壹猕薙,无遗类。公威震远近;坐澂江复陷,降二级留任。是时公已命诸将进攻迤西,而自督军攻迤东南诸贼,日渐有绪矣;及贼复陷澂江,乃进攻澂江,围其城。九年秋,以乡试还省;事已,复往攻。十年春,克之;仍进讨诸贼。越十一年,而迤东南悉平;而前所遣出迤西诸军,亦已先后克永昌、■〈登刂〉 川、浪穹、赵州、云南永平、蒙化诸城,进据上下关以逼大理。公闻,以十一月驰赴大理,躬督诸军环城力攻;文秀出战败还,走入城,饮药未即死,其党以献,立斩之军前,大理平。明年,顺宁、腾越、云州诸贼复以次悉殄灭,全滇底定矣。奏入,赏穿黄马袿,并赏给骑都尉世职。已而,复晋太子少保衔,其骑都尉改一等轻车都尉,开复降二级留任处分;寻兼署总督。自咸丰之初发逆肇祸,其后捻寇、回寇群不逞之徒相继蜂起,国家征兵转饷,龛除中土大难,搏精殚力,仅而克济。其云南悬隔西南万里之外,承历久凋敝之余,兵弱而莫之助、饷尽而莫之继,乱瘉益滋,日进无已。公起诸生,间关羁旅,洊膺艰钜,乃始统规全局,谋定后动,益蹈难感激,躬履行间,率先士众,危困艰阻,出入百死之中,卒翦巨憝,奠定全省,以有成功。故自军兴以来,论边地人才,九牧同声推公为冠。以继母谢太夫人忧,去官。光绪五年,服阕入觐,授贵州巡抚,加兵部尚书衔。
  七年,改福建,督办台湾海防。寻改署云贵总督