본관은 동복(同福). 자는 계문(季文). 직장(直長) 오세현(吳世賢)의 증손으로, 할아버지는 이조참판 오백령(吳百齡)이다. 아버지는 관찰사 오단(吳端)이며, 어머니는 병조참판 심액(沈詻)의 딸이다.
1662년(현종 3) 정시문과에 병과로 급제하여 설서(說書)·정언(正言)을 거쳐 1672년 지평(持平)에 올랐다. 1674년(숙종 즉위년) 자의대비(慈懿大妃)의 왕대비 장씨(張氏)에 대한 상복논쟁에서 남인의 주장이 받아들여진 뒤 득세하여 헌납(獻納)에 특제되었다.
이듬해 도당록(都堂錄)에 들었으며, 그뒤 부사직(副司直)·부교리(副校理)를 거쳐 동부승지에 특진되었다. 집의(執義)·부응교(副應敎)·부제학·대사간 등과 1676년에는 대사성을 역임하였다. 숙종 초년에는 현종에 대한 자의대비의 상복논의 등에서 윤휴(尹鑴)의 설을 따라 예론을 주장하였다.
1678년경부터 남인의 논의가 준격한 청남(淸南)과 온건한 탁남(濁南)으로 나누어지자, 탁남에 가담하여 송시열(宋時烈)의 처벌 등에 온건론을 주장하였다.
1679년 탁남이 중용되면서 대사간·부제학·한성부우윤·이조참판·대사헌 등을 역임하였다. 1680년 예조판서로 재임 중에 경신대출척이 일어나, 남인이 몰락할 때 정원로(鄭元老)의 옥사에 연루되어 처형당하였다. 1689년 기사환국 때 관작이 회복되었다.