十五年（1845年）进士，由翰林院编修改御史，转给事中。因父丧停职。守丧结束后，受命前往河南办理军务。同治元年（1862年），任常镇通海道，代理河南按察使，调直隶布政使。同治四年（1865年），擢湖北巡抚，又调河南巡抚。同治五年八月（1866年9月），赖文光部东捻与张宗禹部西捻在开封沖破沙河及贾鲁河防线，大败李鹤年军。捻军过陈留，跃进山东。经过多年追剿，平定捻军。同治十年（1871年），擢为闽浙总督。次年，上京朝见，赐紫禁城骑马待遇。不久，代理福州将军，兼福建巡抚。光绪元年（1875年），调任河东河道总督，