본관은 안동(安東). 자는 사성(思誠), 호는 탄옹(炭翁). 아버지는 좌랑 권득기(權得己)이고, 어머니는 전주이씨로 도정(都正) 이첨(李瞻)의 딸이다.
어려서부터 총명하고 지행(志行)이 절이(絶異)하여 사람들이 안자(顔子)에 비유하였다. 9세 때 이미 훌륭한 시를 지었으며, 15세에 이기지설과 사칠지변(四七之辨)에 정통하였다. 1636년(인조 14) 대군사부(大君師傅)에 임명된 것을 비롯하여, 선릉참봉(宣陵參奉)·세자시강원자의 등 여러 차례 벼슬이 주어졌으나 나아가지 않았다.
1649년 효종 즉위 뒤 공조좌랑에 임명되어 처음으로 벼슬길에 나갔으며, 경상도사 등을 역임하고, 그 뒤 집의·진선(進善) 등을 거쳐 1658년(효종 9) 승지에 임명되었으며, 이어서 찬선(贊善)에 오르고, 1659년 현종이 즉위한 뒤에 한성부우윤에 임명되었다.
이듬 해 예송문제가 있을 때, 송시열과 송준길에 대립하여 윤선도를 지지하는 상소를 올렸다가 같은 서인의 규탄으로 파직되어 낙향하던 중 광주(廣州)의 선영에 머물러 살았다.
1668년 송준길이 임금에게 “시는 애군우국(愛君憂國)하는 것이 늙을수록 더욱 돈독하니 버릴 수 없다.”고 주청하여 한성부좌윤에 임명되었으나 취임하지 않고, 이듬해 공주(公州: 현재 大田)의 옛 집으로 돌아갔다.
송시열과 같은 기호학파로서 예론에 밝았다. 그가 죽자 좌참찬에 추증하고 예관을 보내어 치제하게 하였다. 대전의 도산서원에 제향되었다. 저서로는 『탄옹집(炭翁集)』 7책이 있다.