본관은 풍산(豊山). 대사헌 홍이상(洪履祥)의 증손으로, 할아버지는 예조참판 홍영(洪霙)이고, 아버지는 영안위(永安尉)홍주원(洪柱元)이며, 어머니는 정명공주(貞明公主)이다.
1662년(현종 3)에 통덕랑으로 정시문과에 장원급제하여 1663년 지평·정언, 1664년 수찬·교리·이조좌랑 등을 역임하고, 1665년 판결사 김소(金素)를 청선(淸選)에 천망하지 않았다 하여 한때 파직되기도 하였으나 곧 복직되어 수찬·헌납을 역임하였다.
1666년 중시문과에 다시 장원급제, 교리·겸문학·시강관·부응교·이조참의 등을 역임하였다. 1675년(숙종 1) 다시 대사간이 되고, 1676년 인선왕후(仁宣王后)의 대상(大祥) 때에 크게 취한 죄로 파직되었다. 1680년 경기도관찰사를 거쳐 이듬해 대사헌이 되었다.
1689년 동지사(冬至使)로 청나라에 다녀왔으며, 공조·예조·이조 등의 판서를 역임하고 우참찬·지경연사(知經筵事)에 이르렀다. 이 해에 기사환국으로 사직하고 고향인 고양으로 돌아가 오직 음주로써 세월을 보내며 세상일을 말하지 않았다.
왕실의 지친이면서도 직언을 서슴지 않아 숙종이 송시열(宋時烈)·송준길(宋浚吉)을 귀양보낼 때에는 조정에서 감히 아무도 이를 말리지 못하였으나 이들을 위하여 적극 원통함을 풀어 구제하였다. 시호는 정간(貞簡)이다.