본관은 풍산(豊山). 자는 유성(幼盛), 호는 소운(小芸). 서울 출신. 도정 홍한주(洪翰周)의 아들이다.
1866년(고종 3) 정시문과에 병과로 급제, 홍문관부수찬에 임명되고 이어 사간원헌납이 되었다.
1875년 성균관대사성을 역임하고 이어 동래부사가 되어, 이듬 해 부산주재 일본 관리관 곤도[近藤眞鋤]와 「부산항일인거류지조계조약(釜山港日人居留地租界條約)」을 체결하였다. 1877년 다시 곤도와 「조일표류선취급협정(朝日漂流船取扱協定)」을 체결, 그 수완을 인정받아 그 해 도총부부총관에 특별 발탁되고, 이어 예조참판이 되었다.
1879년초 일본대리공사 하나부사[花房義質]의 접반관(接伴官)이 되어 원산·인천 등지의 개항을 서두르는 일본의 진출을 저지하기 위하여 노력하였고, 그 공로로 1880년 정경(正卿)으로 승탁(陞擢), 형조판서에 이어 예조판서가 되었다.
1881년 진위겸진향사(陳慰兼進香使)로 중국에 다녀와 이듬 해 경기도관찰사가 되었고, 임오군란 당시에는 중국제독 우창칭(吳長慶)을 영접하였다.
1883년 이래 수원부유수로 재직하다가 1888년 판의금부사, 곧 이어 다시 예조판서, 이듬해 의정부좌참찬을 역임하고, 1890년 재차 판의금부사가 되었다. 글씨를 잘 썼는데 특히 전서에 능하였다. 시호는 정헌(貞憲)이다.