1663년(현종 4) 진사가 되고, 1670년 별시 문과에 을과로 급제하였다. 대교 · 설서 · 이조좌랑 · 사간 · 응교 · 승지 · 대사성 · 부제학 · 형조참의 등을 두루 역임하였다. 외직으로 1681년(숙종 7) 고성군수, 1685년 경상도 관찰사를 지냈다. 명가에서 태어나 문재가 있었고 처신에 청약(淸約)하여 인망이 두터웠다.
오시수(吳始壽)의 옥사 때 김수항(金壽恒)에게 오시수를 변호하다가 힐책을 당한 뒤, 김익훈(金益勳)의 남인모반사건 조작을 계기로 민정중(閔鼎重) · 김석주(金錫胄)와 불화하여 더욱 입장이 난처하였다. 승지로 있을 때 왕의 명으로 송시열(宋時烈)을 찾아가 김익훈이 남인 허새(許璽) · 허영(許瑛)을 이용, 반역을 꾀하게 한 사실을 알리고 일단 송시열의 동의를 구하였으나, 송시열이 그 뒤 김석주 등의 말을 듣고 김익훈을 비호하게 되자 송시열까지 의심을 하게 되었다.
이 일로 한태동(韓泰東) · 유득일(兪得一) · 박태유(朴泰維) 등과 더욱 정론(政論)이 가까워지게 되었다. 이 사건을 둘러싸고 올린 여러 소에서 박세채(朴世采) · 박태손(朴泰孫) 등을 비호하여 자신의 입장을 견지하였다. 아버지 조복양이 어려서부터 윤순거(尹舜擧) 형제와 교우하였고, 특히 윤선거(尹宣擧)와는 친분이 두터워 윤선거의 상에 복(服)을 입었던 사이여서 윤선거의 아들 윤증(尹拯)과 우의가 두터웠다.
이러한 연유로 소론의 거두 중 일인이 되었다. 당시 송시열을 지지하였던 김수흥(金壽興) · 김수항 · 민정중 · 민유중(閔維重) · 김석주 · 김익훈 등이 노론이 되었고, 박세채 · 윤증을 지지하던 한태동 · 박태보(朴泰輔) · 오도일(吳道一) · 최석정(崔錫鼎) · 박태손 등이 소론이 되었다. 그의 문집인 『오재집』에는 <선부군언행총략(先府君言行總略)>과 <백씨행장(伯氏行狀)>이 실려 있어 조복양과 조지형(趙持衡)의 인물을 이해하는 데 도움이 된다.
한편 같은 문집에는 고산찰방으로 있을 때 올린 글 <고산찰방시공사(高山察訪時供辭)>가 있어 당시 마정(馬政)의 문제점 및 그 내용과 역승제도(驛乘制度)를 이해하는 데 도움을 준다. 교우로는 윤지선(尹趾善) · 최석정 등이 있으며, 문하생으로 권구(權絿) 등이 있다.
그 밖에 오도일 · 한태동 · 남구만(南九萬) 등과도 교유하였다. 이조판서에 추증, 광주(廣州)의 명고서원(明皐書院), 고성(高城)의 향사(鄕祠)에 제향되었다. 저서로 『오재집』이 있고, 편서로 『송곡연보(松谷年譜)』가 있다.