嘉庆十九年（1814年）进士。散馆授翰林院编修，曾充实录馆纂修、提调兼校勘。官至云贵总督。道光二年（1822年）出爲云南大理府知府，禁种罂粟，劝植桑播稻，政绩卓着。道光七年（1827年）后，历官山东登州、沂州、济南府知府，丁忧去职。服阙，任安徽凤阳府、安庆府知府，升山东登莱青道，贵州粮输道，历贵州按察使，山西、四川布政使等职。咸丰二年（1852）升任云南巡抚，整顿铜政。次年，转陕西巡抚。累擢四川总督、云贵总督。咸丰八年（1858年）冬告老回乡，买进碧山楼居住。曾主敷文书院讲席。