본관은 인동(仁同). 자는 성안(聖安), 호는 일유재(一逌齋). 전라북도(현, 전북특별자치도) 김제 출신. 내부협판 장한두(張漢斗)의 아들이다.
1861년(철종 12) 식년문과에 병과로 급제하여 승문원권지부정자(承文院權知副正字)에 제수된 뒤 전적 · 선략장군부사과(宣略將軍副司果), 예조정랑 · 사헌부지평 · 정언 · 장령 등을 역임하였다. 1867년(고종 4) 양산군수에 임명되어 부국양병에 주력하고 임진왜란 당시 순절한 조영규(趙英珪)의 제단을 고쳐 제향하였다.
당시의 공으로 통정대부(通政大夫)에 제수되고 1872년 고종을 수행하여 송도에 다녀왔다. 그 뒤 병조참의 · 돈령부도정(敦寧府都正) · 동부승지 · 경연참찬관(經筵參贊官) · 춘추관수찬관(春秋官修撰官) 등을 지내고, 1894년 동학란 중에 고산현감에 부임하였다.
1895년 단발령이 내리자 사직하고, 스스로 남강거사(南岡居士)라 하고 은거하였다. 그러나 1904년 이후 다시 관계에 진출하여 중추원의관(中樞院議官) · 시종원부경(侍從院副卿) · 칙임관3등에 임명되었다.
1910년 일제가 대한제국을 강제병합하자 일제의 회유책은 거들떠보지도 않고, 불충과 불효한 죄를 죽음으로 씻는다고 단식하여 24일 만에 순국하였다.
1962년 건국훈장 독립장이 추서되었다.