본관은 영월(寧越). 초명은 엄인(嚴璘). 자는 유문(孺文), 호는 오서(梧西). 엄성구(嚴聖耉)의 증손으로, 할아버지는 예조판서 엄집(嚴緝)이고, 아버지는 수찬(修撰) 엄경수(嚴慶遂)이다. 어머니는 임순원(任舜元)의 딸이다.
1753년(영조 29) 생원시에 합격하였으며, 1757년 정시문과에 병과로 급제한 뒤 교리(校理)와 승지 등을 지냈다. 1771년 형조참판을 거쳐 대사간이 되었으며, 이듬해에는 대사헌으로 자리를 옮겼다. 이 때 부당하게 업무처리를 하여 관원으로서의 위신을 추락시킨 지평(持平) 이득화(李得華)와 좌참찬 신회(申晦) 등을 파직하도록 하였으며, 그로부터 3년 뒤에는 전국의 한전(旱田)에 급재(給災: 재해를 입은 논·밭에 대하여 세를 면제함)를 해야 한다고 주장하였다.
평소에 늘 책읽기를 좋아하였는데, 이러한 것과는 달리 성격이 단호한 일면도 지니고 있어 한번 상주(上奏: 임금에게 아룀)할 때는 상하의 관원들이 모두 경청하였다. 더욱이 일찍 예문관에서 봉직하고 있을 때, 대신 김상로(金尙魯)가 체통에 어긋나는 행동을 취하자 신랄하게 규탄함으로써 시정하도록 하였다.
1773년 동지부사(冬至副使)로 중국에 들어가 크게 활약한 결과, 외교적 성과를 거두고 이듬해 귀국하였다. 돌아와서는 그간에 기록한 일기를 간행하였으며, 늙어서는 기로소(耆老所)에 들어갔다. 저서로는 『연행록(燕行錄)』이 있다. 시호는 숙헌(肅憲)이다.