본관은 남양(南陽). 자는 군징(君徵), 호는 남파(南坡). 홍온(洪昷)의 증손으로, 할아버지는 형조판서 홍가신(洪可臣)이고, 아버지는 한성서윤 홍영(洪榮)이며, 어머니는 이조판서 허성(許筬)의 딸이다.
1645년(인조 23) 별시문과에 병과로 급제, 1647년 검열을 거쳐 주서·대교가 되었다. 이듬해에는 봉교로 태백산사고와 오대산 사고를 살피고 돌아왔다. 정언을 거쳐 1651년(효종 2) 예안현감이 되어 시폐(時弊)를 논하는 장문의 소를 올렸다.
1654년 수찬이 되었는데, 강빈(姜嬪: 昭顯世子嬪) 옥사의 허위임을 직언하다 장살(杖殺)당한 황해도관찰사 김홍욱(金弘郁)의 신원(伸寃: 원통함을 풀어 버림.)을 주장하다 파직당하였다. 1656년 직강(直講)·북청판관이 되고, 이듬 해 다시 직강이 된 뒤 1658년 병조정랑이 되었다.
현종 즉위 후 부수찬에 복직되고 공주목사·사인·장령 등을 지냈다. 1663년 다시 수찬이 되어 조대비(趙大妃: 仁祖繼妃慈懿王后)의 복상문제로 유배된 윤선도(尹善道)의 석방을 주장하다 파직되었다.
그러다 숙종 즉위초 2차 예송논쟁(禮訟論爭)에서 승리한 남인이 집권하면서 응교로 복직되었다. 이어 승지·부제학·이조참의·대사헌·공조참판 등을 거쳐 이조판서가 되었다. 그리고 1676년(숙종 2) 대사성·예조판서·지중추부사에 임명되었다.
이듬 해 우참찬이 되어 흉년임을 들어 대동미(大同米)를 감량할 것, 납물교생(納物校生)의 면역(免役)을 중지할 것, 납속자(納粟子)에 대한 불신을 없앨 것 등을 진언하였다. 이어서 강화유수·이조판서를 역임한 뒤, 1678년 공조판서가 되었다.
재직 중 각 아문(衙門)의 둔전을 혁파하고, 훈련도감·총융청·수어청·어영청 등 4군영문의 재정을 은포(銀布)로 징수할 것을 주장하였다. 1680년 경신대출척으로 남인이 몰락하자 허적(許積)의 역모사건에 연루되어 명천으로 유배되었다. 그러다가 나이가 많다는 이유로 문천으로 이배된 뒤, 1687년 현지에서 죽었다.
1689년 기사환국으로 복작(復爵)되었다. 그리고 이듬해 영의정에 추증되었다. 학문이 고명(高明)하고 성품이 직절(直節)하다 해서 파직되었을 때마다 조정에서는 서용(敍用: 죄로 벼슬을 면한 사람에게 다시 관직을 주어 발탁함.)할 것을 국왕에게 진언하였다.
안성의 남파서원(南坡書院)·백봉서원(白峯書院)에 제향되었다. 저서로는 『남파집(南坡集)』 13권이 있다. 시호는 문간(文簡)이다.