光二十七年（1847年）进士，选庶吉士，与李鸿章、沈葆桢、郭嵩焘等人同年同官，咸丰七年（1857年）任内阁学士兼礼部侍郎。同治二年（1863年）以户部左侍郎署山西巡抚，任内严禁鸦片种植。同治六年（1867年）起担任军机大臣兼总理衙门大臣，任内与李鸿章、马新贻、何璟、沈葆桢等同年相互援引，对各省洋务运动的开展影响极大，支持派遣了以郭嵩焘为代表中国首批驻外使节，是清末洋务运动中央领导人中的汉人代表。同治九年（1870年）改任兵部尚书，同治十一年（1872年）加太子少保。其人为官清廉，但因政见不同而与同样担任