본관은 전주(全州). 자는 성량(聖良). 효령대군(孝寧大君) 이보(李礻+甫)의 13대손이며, 이익수(李益壽)의 증손이다. 할아버지는 이도선(李道善)이고, 아버지는 이시덕(李時德)이며, 어머니는 홍정명(洪廷命)의 딸이다.
1766년(영조 42) 정시 문과에 병과로 급제하고, 1774년(영조 50) 등준시(登俊試)에 을과로 급제하였다. 1768년(영조 44) 홍문관교리에 이어 부교리·정언·홍문관수찬 등을 역임하였다. 1773년(영조 49) 승정원승지·수원부사를 거쳐 다음 해 대사간이 되었다.
이득신이 올린 상소문이 민심을 광혹하게 했다는 영의정 서명선(徐命善)의 탄핵으로, 1781년(정조 5)에 유배되었다가 4년 뒤 춘천부사로 부임하였다. 다음해 충청도관찰사가 되었을 때, 상주목사가 승려를 동원해 화양동에 있는 만동묘(萬東廟)를 수리하자 관할자로서 지방 유생들로부터 책임을 추궁받기도 하였다.
1788년(정조 12) 대사헌이 되고, 다음 해 희천군수로 나가 치적을 쌓아, 암행어사의 보고로 정조로부터 말이 하사되기도 하였다. 1793년(정조 17) 형조판서가 되었을 때 수감중 병에 걸려 고생하는 전국의 죄수에게 약을 주어 치유시켰다.
2년 뒤 임금의 모후 혜경궁(惠慶宮: 敬懿王后)을 추존하는 경사가 있자 행부사직으로 가자(加資: 품계가 오름)의 은전을 받았다. 그 뒤 지의금부사·대사헌·이조판서·병조판서를 역임하고, 1797년(정조 21) 전라도관찰사가 되어 호남에 4만석을 풀어 기민(飢民)을 구제했으며, 이 지방의 사치를 엄단할 것을 상소하였다.
2년 뒤 한성부판윤이 되고 1801년(순조 1) 정조의 능을 조성하는 산릉제조(山陵提調)로서 공로가 있어 가자되었다. 그 뒤 동지사(冬至使)가 되어 청나라에 다녀왔으며, 1802년(순조 2) 병조판서로 있다가 죽었다. 시호는 효헌(孝憲)이다.