본관은 진주(晉州). 자는 자화(子和). 강운상(姜雲祥)의 증손으로, 할아버지는 강주(姜籒)이고, 아버지는 판중추부사 강백년(姜柏年)이며, 어머니는 황담(黃湛)의 딸이다.
1675년(숙종 1) 증광문과에 병과로 급제하였으며, 1679년에 부수찬 · 정언을 지냈고, 홍문록(弘文錄) · 도당록(都堂錄)에 올랐다. 1680년 지평으로 재직중 경신대출척(庚申大黜陟)으로 삭직되었다. 1689년 기사환국으로 교리에 등용되어 송시열(宋時烈)의 죄를 논하고, 나국(拿鞫: 체포하여 신문하는 일)할 것을 청하였다.
이어서 장례원판결사 · 형조참의 · 동부승지를 역임하고, 1693년 충청도관찰사가 되었으며, 이듬해 갑술환국으로 다시 파직당하였다.
1698년 형조참의로 다시 기용되었고, 동지부사로 청나라에 다녀와서 동지의금부사를 거쳐 도승지가 되었다. 1705년 강원도관찰사, 이듬해 형조참판을 역임하고, 1708년에 다시 도승지가 되었다.