본관은 창녕(昌寧). 자는 사원(士元), 호는 동포(東浦). 조헌주(曺憲周)의 증손으로, 할아버지는 대사간 조하망(曺夏望)이고, 아버지는 조명준(曺命峻)이다. 어머니는 한사억(韓師億)의 딸이다.
1779년(정조 3) 정시문과에 병과로 급제, 예문관검열을 지낸 뒤 초계문신(抄啓文臣: 당하관 중에서 문학에 뛰어나 시험관으로 뽑힌 문신)으로 뽑혔다. 1784년 홍문관부교리를 거쳐 이조전랑직에 있을 때 이조판서 이명식(李命植)이 송시열(宋時烈)의 후손을 능관(陵官)으로 추천한 일이 있었는데, 홍국영(洪國榮)과 결탁한 역적 송덕상(宋德相)의 친척이라는 점을 지적하여 그 부당성을 끝까지 주장, 마침내 파직시켰다. 그 뒤 소론의 명장으로 활약하였다.
1786년 홍문관응교 재직시에는 대사헌 윤승렬(尹承烈), 대사간 박천행(朴天行)과 함께 앞서 세도를 부리다가 이미 제거된 홍국영 사건에 관련, 당시의 관계자 후속처벌 문제를 놓고 삼사복합상소(三司伏閤上疏)를 올려 일대 옥사를 일으키는 한편, 자신도 한때 파직되었다. 그 뒤 이조참의·대사성·경원부사·대사간을 역임하고 사헌부대사헌이 되어 대사간 유강(柳焵) 등과 같이 채제공(蔡濟恭)을 탄핵하는 삼사연계(三司聯啓)를 올린 일도 있었다.
1794년 이후 강화부유수·충청도관찰사·황해도관찰사·이조참판을 지낸 뒤, 1801년(순조 1) 형조판서가 되었다. 이 때 실록청당상의 임무를 맡아 『정조실록』의 편찬에 참여하였다. 같은 해 동지 겸 진주사(冬至兼陳奏使)의 정사로 청나라에 가 신유사옥에서 처형된 청나라 신부 주문모(周文謨)에 대한 전후의 자세한 사정을 전하고 돌아왔다.
1804년 병조판서에 이어 대사간·형조판서·예문관제학·이조판서 등 중앙의 요직을 두루 거쳤다. 1809년 함경도관찰사로 있을 당시 함흥에 대화재가 발생하여 약 1,800호의 민가가 재난을 당하는 사건이 있었다. 또 명천·경성·회령·부령 등지에서는 14일간에 걸친 대지진이 일어나 가옥과 성채가 무너지고 사람과 가축이 압사하는 천재지변을 겪기도 하였다.
1811년 홍문관제학·판의금부사에 이어 이조판서 재직중 다시 동지사의 임무를 띠고 청나라에 다녀온 다음, 한성판윤을 거쳐 1813년 판돈녕부사가 되었다. 저술로 『최열사전 崔烈士傳』 등이 있고, 서예에도 능하여 「강릉오봉서원경적비 江陵五峰書院經蹟碑」 등의 작품이 있다.