본관은 안동(安東). 자는 기지(起之), 호는 퇴우당(退憂堂) 또는 동곽산인(東郭散人). 생부는 동지중추부사(同知中樞府事) 김광찬(金光燦), 양부는 동부승지(同副承旨) 김광혁(金光爀)이고, 양모는 광산김씨로 동지중추부사 김존경(金存敬)의 딸이며, 영의정 김수항(金壽恒)의 형이다.
1648년(인조 26) 사마시(司馬試)를 거쳐 1655년(효종 6) 춘당대문과(春塘臺文科)에 병과로 급제하고 이듬 해 문과중시에 역시 병과로 급제한 뒤 부교리·대사간·도승지 등을 역임하고, 1666년(현종 7)에 호조판서, 1673년에 판의금부사(判義禁府事)가 되고 이듬 해 영의정에 올랐다.
그러나 자의대비(慈懿大妃)의 복제문제(服制問題)로 남인에게 몰려 부처될 뻔하였고, 그 해 8월 현종이 죽자 양사(兩司)의 탄핵으로 춘천에 유배되었다가 이듬 해 풀려나와 양주로 물러가 살았다. 1680년(숙종 6) 경신대출척으로 서인이 재집권하자 영중추부사(領中樞府事)에 이어 다시 영의정에 올랐으나, 1689년 기사환국으로 남인이 다시 집권하자 장기(長鬐)에 유배되어 이듬 해 배소에서 죽었다.
김수흥은 송시열(宋時烈)을 마음의 스승으로 존경하여 그의 뜻에 따랐고, 『주자대전(朱子大全)』·『어류(語類)』 등을 탐독하였다. 역대의 왕에게 시폐소(時弊疏)를 올려 백성의 편에서 정치하기를 힘쓰고 정치의 혁신을 여러 번 건의했다. 저서로는 『퇴우당집(退憂堂集)』 5책이 전해지고 있다. 시호는 문익(文翼)이다.