본관은 진주(晉州). 자는 공헌(公獻), 호는 상곡(商谷). 제천 출신. 강구수(姜龜壽)의 증손으로, 할아버지는 강신(姜信), 아버지는 강천민(姜天民), 어머니는 임집(林楫)의 딸이다.
1612년(광해군 4) 진사가 되었다. 이 때 폐모론(廢母論)이 일어나는 등 광해군의 정치가 문란해지자 과거의 뜻을 버리고 10년 동안 고향에 칩거했다. 1623년 인조반정 뒤 과거에 응시했고, 이듬해 증광 문과의 갑과로 급제했다. 1627년(인조 5) 정묘호란이 일어나자 예빈시직장으로 임금을 모시고 강도(江都)로 들어가 화의를 반대하고 항전할 것을 주장했다.
즉, 도망자들을 돌려 보내달라는 청나라의 요구를 들어주고 화의를 주장하는 이귀(李貴) 등의 의견에 반대 상소를 했다. 1639년최명길(崔鳴吉)의 천거로 병조좌랑이 되었고, 1642년에 지평이 되었으며, 1651년(효종 2)에 의주부윤(義州府尹)이 되었다.
이어 조정에서 문무를 겸한 장재(將才)로 천거돼 1553년 함경남도병사에 임명되었다. 성벽 수축과 병사의 훈련을 잘해 왕이 좋은 말을 내려 업적을 극찬하고, 이듬해 북병마사를 제수하였다. 1656년 승지를 거쳐 황해감사 · 경기수군절도사가 되었으며, 이듬해 충청감사를 역임했다.
1659년 동지부사로 청나라에 가서 왕의 북벌의 뜻을 받들어 적의 허실을 살피고 왔다. 그러나 이해 왕이 죽자 황해감사로서 북벌의 좌절을 크게 통곡했다.
1661년(현종 2) 수원부사에 가자(加資)되었으며, 1663년 우부승지 · 좌부승지 · 황해도관찰사가 되었다. 이듬해 강릉부사에 이어 호조참의가 되었다. 후에 이조판서로 추증되었다. 시호는 충선(忠宣)이다.
저서로는 『상곡집(商谷集)』이 있다.